2010-05-14 7 views
1

J'ai une classe qui étend un SWC, dans le swc j'ai deux boîtes, recto et verso et une animation sur la même timeline. L'animation fonctionne bien sans échange lorsque je les échange l'animation cesse de fonctionner. De toute façon je peux le faire fonctionner?L'animation cesse de fonctionner après l'échange

J'ai le code suivant:

var frontTemp:DisplayObject = this.animationInstance.getChildByName("front"); 
var backTemp:DisplayObject = this.animationInstance.getChildByName("back"); 
this.animationInstance.swapChildren(frontTemp,backTemp);  
this.animationInstance.gotoAndPlay("animation"); 

Répondre

2

La réponse courte est, vous devriez éviter d'utiliser les animations d'images et des scripts sur les mêmes objets. Fondamentalement, les animations de cadres et les scripts sont deux façons différentes de contrôler les propriétés des clips (position, taille, ordre d'empilement, etc.). Et si vous les utilisez tous les deux, Flash n'a aucun moyen non ambigu de savoir quel jeu d'instructions devrait avoir préséance. La façon dont Flash traite ce problème est que, une fois que vous utilisez des scripts pour mettre à jour quelque chose, il n'est plus affecté par les animations d'images (à moins qu'il ne soit retiré de la scène et rajouté).

J'ai posté quelques moyens généraux de résoudre ce genre de problème in answer to this question - s'il vous plaît jeter un oeil.

+0

Merci beaucoup pour la réponse détaillée. Mon problème est que j'ai des animations complexes d'un personnage que je ne peux pas réaliser avec un script. Le problème vient ici. Quand le bras du personnage est devant la poitrine. Maintenant, quand le personnage tourne, le bras doit être derrière la poitrine. Des solutions autres que le script? –

+0

La manière la plus simple est de faire deux couches pour les bras, l'une au-dessus de la poitrine et l'autre en dessous, et de déplacer le bras d'avant en arrière entre eux. Cela fonctionnerait-il? – fenomas

+0

Cela fonctionnerait je suppose: D Je cherchais une solution efficace à cela: P Merci: D –

Questions connexes