2017-09-08 3 views
-2

Je travaille sur un jeu en Actionscript, et le code suivant est contenu dans une fonction qui vérifie si une touche a été pressée ou non sur le clavier. Vous pouvez ignorer toutes les autres variables, car la seule chose importante est 'OrbRing', un MovieClip étant chargé depuis la bibliothèque.Actionscript 3 addChild ignoré toutes les deux tentatives

Lorsque la touche TAB est enfoncée, la durée d'une barre à l'écran est réduite d'une valeur définie et une sonnerie apparaît à l'écran. La première fois que cela est tenté, tout fonctionne normalement: l'anneau apparaît et la longueur de la barre diminue.

Cependant, le seconde fois que cela est tenté, la longueur de la barre est réduite, mais l'OrbRing n'apparaît pas.

Assez étrangement, le troisième troisième fois cela est tenté, tout fonctionne normalement à nouveau, tout comme la première fois.

Mais alors le quatrième temps, les problèmes sont les mêmes que la deuxième tentative.

Ainsi, à chaque tentative, le code addChild semble être ignoré, mais la fonction est toujours active car la longueur de la barre diminue à chaque fois. Et chaque tentative étrange, la fonction fonctionne normalement.

Je ne sais pas pourquoi cela se produit, et je ne reçois aucun message d'erreur. Toute aide ou idée susceptible de résoudre ce problème serait grandement appréciée.

if(levelseven==true) { 
    if (mykey.keyCode==Keyboard.TAB) { 
     if(gear1==true && CPUBAR1_mc.CPUBARYLW_mc.width>=215) { 

      CPUBAR1_mc.CPUBARYLW_mc.width-=215; 
      addChild(OrbRing); 
      OrbRing.x=Orb_mc.x; 
      OrbRing.y=Orb_mc.y; 
      OrbRing.gotoAndPlay(1);  
     } 
    } 
} 
+0

Avez-vous vérifié si vous avez même frappé le conditionnel avec une trace? Ma première hypothèse est que soit gear1 est faux ou la largeur de ce Movieclip est inférieure à 215. – DodgerThud

+0

Besoin d'un peu plus de contexte ici. Je devrais voir les fonctions impliquées pour aider plus loin. – quantomworks

+0

Quel est le code utilisé pour faire disparaître l'anneau? – BadFeelingAboutThis

Répondre

-1

J'ai trouvé la solution. Pour une raison quelconque (je ne sais toujours pas pourquoi), le MovieClip était bloqué sur la première image à chaque tentative. Il suffit d'ajouter un gotoAndPlay (2); instruction a fait en sorte que le MovieClip a joué à chaque fois. Merci beaucoup pour toute votre aide.