Forums Développement Multimédia

Aller au contenu

comment dupliquer et " téléporter" un clip

PAO Flash

8 réponses à ce sujet

#1 Thetriper

    Ceinture Blanche

  • Members
  • Pip
  • 5 messages

Posté 22 March 2013 - 10:18 AM

Bonjour ! :smile:

j'ai un problème :P
je suis entrain de créer un jeu tower defense et je voudrais que quand l'ennemi est à la fin du chemin qu'il revienne au début mais je commence à galérer et mon code commence à devenir n'importe quoi ^_^

Ce jeu est basé aussi sur des vagues d'ennemi alors j aimerai bien savoir aussi comment dupliquer l'ennemi :D

Merci à celui qui trouvera la solution :)

Fichier(s) joint(s)

  • Fichier joint  Start.fla   744 Ko   0 téléchargement(s)


#2 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 22 March 2013 - 10:44 AM

// Réponse type//
Bonjour, cher membre.

Fournir un fichier source aussi "brutalement" n'est pas agréable pour celui qui passerait par là avec l'envie de t'aider.
Vu de l'autre côté de ton écran, on pourrait avoir le sentiment que tu déposes ton paquet au pressing et que tu comptes repasser ce soir pour le récupérer propre.

La diversité des versions de flash et des outils libres de développement fait qu'un nombre réduit de personnes pourront ouvrir ton fichier. C'est un frein à s'investir pour te répondre.
- Ai-je le temps de télécharger un fichier ?
- De tenter de l'ouvrir ?
- De tenter de comprendre le contenu ?
- De résoudre le problème ?
- Quel est le niveau de l'intéressé pour lui apporter une réponse appropriée, qu'il comprenne et le fasse progresser ?

Trop de questions qui font que peu de gens vont s'intéresser à ta question…
// Fin de réponse type //

#3 Thetriper

    Ceinture Blanche

  • Members
  • Pip
  • 5 messages

Posté 22 March 2013 - 10:57 AM

:D dsl j'avais pas pensé à sa x)

Si jamais je fais sa toute la journée car le jeu est mon projet personnel pour l examen final de cette année :)


// Booléen permettant d'indiquer si
blnMoveRight = 0;
blnMoveLeft = 0;
blnMoveUP = 0;
blnMoveDown = 0;
var currentLife:Number = 10;
var totalLife:Number = 10;
stop();
function onEnterFrame() {
deplacerBarre();
resizeBare();
dispartion();
}
function resizeBar(bar:MovieClip, current:Number, total:Number){
bar._xscale = 100*current/total;
}
resizeBar(mc_barre, currentLife, totalLife);
function deplacerBarre() {
{
  // Vérifie si l ennemi est au bout de la ligne
  if(ennemi._x < 35 && blnMoveRight == 0 )
  {
   // Déplace l ennemi
   ennemi._x += 5;
   blnMoveLeft = 1;
  }
  // Vérifie si l ennemi est au bout de la ligne
  if(ennemi._x == 35 && ennemi._y > 90)
  {
   // Déplace l ennemi
   ennemi._y -= 5;
  }
  // Vérifie si l ennemi est au bout de la ligne
  if(ennemi._y == 90 && ennemi._x == 35)
  {
   // Déplace l ennemi
   blnMoveRight = 1;
  }
  if(blnMoveRight == 1)
  {
   // Déplace l ennemi
   ennemi._x += 5;
  }
  //Vérifie si l ennemi est au bout de la ligne
  if(ennemi._x == 115 && ennemi._y == 90)
  {
   // Déplace l ennemi
   blnMoveRight = 0;
   blnMoveDown = 1;
  }
  if(blnMoveDown == 1)
  {
   ennemi._y += 5;
  }
  if(ennemi._x == 115 && ennemi._y == 275)
  {
   blnMoveDown = 0;
   blnMoveRight = 1;
  }
  if(ennemi._x == 195 && ennemi._y > 90)
  {
   // Déplace la barre
   blnMoveRight = 0;
   blnMoveUP = 1;
  }
 
  if(blnMoveUP)
  {
   ennemi._y -= 5;
  }
  if(ennemi._x == 195 && ennemi._y == 90)
  {
   // Déplace l ennemi
   blnMoveUP = 0;
   blnMoveRight = 1;
  }
  if(ennemi._x == 275 && ennemi._y == 90)
  {
   // Déplace l ennemi
   blnMoveRight = 0;
   blnMoveDown = 1;
  }
  if(ennemi._x == 275 && ennemi._y == 275)
  {
   // Déplace l ennemi
   blnMoveDown = 0;
   blnMoveRight = 1;
  }
  if(ennemi._x == 350 && ennemi._y == 275)
  {
   blnMoveRight = 0;
   blnMoveUP = 1;
  }
  if(ennemi._x == 350 && ennemi._y == 90)
  {
   // Déplace l ennemi
   blnMoveUP = 0;
   blnMoveRight = 1;
  }
  if(ennemi._x == 430 && ennemi._y == 90)
  {
   // Déplace l ennemi
   blnMoveRight = 0;
   blnMoveDown = 1;
  }
  if(ennemi._x == 430 && ennemi._y == 275)
  {
   // Déplace l ennemi
   blnMoveDown = 0;
   blnMoveRight = 1;
  }
  if(ennemi._x == 510 && ennemi._y == 275)
  {
   blnMoveRight = 0;
   blnMoveUP = 1;
  }
  if(ennemi._x == 510 && ennemi._y == 90)
  {
   // Déplace l ennemi
   blnMoveUP = 0;
   blnMoveRight = 1;
  }
}
if(ennemi._x == 560 && ennemi._y == 90)
{
         currentLife -= 1; //Décrémente la vie de 20 pts
         resizeBar(mc_barre,currentLife,totalLife); //Actualise la barre de vie
  mc_pts.text = currentLife
}
}
// plein de gens vont me tuer en voyant sa ^^
this.attachMovie("ennemi", "ennemi1", this.getNextHighestDepth(10), {_x:-15, _y:275});
{
if(this.MovieClip._x > 560)
{
  removeMovieClip("ennemi1")
}
}
 


#4 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 22 March 2013 - 11:02 AM

Bonjour Thetriper

Un premier gros souci :
- ce code est en AS2 et plus beaucoup de personnes ne l'utilisent sur le forum.
Si tu débutes en prog/Flash, je te conseille de te mettre à l'AS3. C'est un peu plus "verbeux" mais plus précis, plus puissant, et surtout il y a beaucoup plus de monde sur le forum pour répondre aux questions.

Perso, je ne connais pas du tout AS2, je ne vais pas pouvoir t'aider.

#5 Nataly

    Community Jane

  • Moderateur
  • PipPipPipPipPipPipPipPip
  • 5783 messages

Posté 22 March 2013 - 11:20 AM

'alut :)

Je souscris à tout ce qui est dit plus haut (réponse type incluse) et, si tu t'obstines avec AS2, je te suggère de chercher du côté de attachMovieClip qui ne duplique pas mais ajoute une instance de symbole. Si tu veux "récupérer" des propriétés (caractéristiques) d'une instance modifiée, il faut donc avoir mémorisé les-dites propriétés ;)
Le savoir est le seul bien qui s'accroit quand on le partage
une tartine de tutos

#6 Thetriper

    Ceinture Blanche

  • Members
  • Pip
  • 5 messages

Posté 22 March 2013 - 13:13 PM

mais si je passe en as3 je vais devoir tous changer ? :(

#7 dldler

  • Community Manager
  • PipPipPipPipPipPipPipPip
  • 4163 messages

Posté 22 March 2013 - 13:16 PM

Oui.
:-/

Evidemment, si c'est ton seul projet, que tu ne comptes pas continuer à faire du flash, ce n'est peut-être pas la peine.

Par contre, si tu penses continuer, ça vaut le coup et le temps perdu cette fois-ci, tu le rattraperas vite sue les autres projets.

#8 Thetriper

    Ceinture Blanche

  • Members
  • Pip
  • 5 messages

Posté 22 March 2013 - 13:23 PM

Bon je crois que je vais continué en as2 je dois tout recommencer presquer à zéro :/ et j ai pas assez de temps pour tous refaire <_<

#9 Thetriper

    Ceinture Blanche

  • Members
  • Pip
  • 5 messages

Posté 22 March 2013 - 13:27 PM

Bas enfet c'est mon projet final pour cette année mais j'aimerai bien continué le flash ... mais bon :/



1 utilisateur(s) li(sen)t ce sujet

0 membre(s), 1 invité(s), 0 utilisateur(s) anonyme(s)

authorised training centre

Centre de Formation Mediabox - Adobe et Apple Authorised Training Center.

Déclaré auprès de la Direction du Travail et de la Formation Professionnelle

Mediabox : SARL au capital de 62.000€ - Numéro d'activité : 11 75 44555 75 - SIRET : 49371646800035

MEDIABOX, 23, rue de Bruxelles, 75009 PARIS

FFP