2010-12-11 4 views
0

J'ai utilisé Adobe Flash CS4 pendant quelques jours. J'ai dessiné un ver, avec des yeux et une bouche et ces pièces sont tous des symboles MovieClip. Je les ai exportés en actionscript avec le nom de la classe étant le même que ce qu'ils sont (c'est-à-dire que la bouche MovieClip est exportée en guise de bouche). La bouche a 2 cadres, un souriant et un fronçant les sourcils. Je dois rester bouche pour sourire au début, donc dans le cadre 1 actions que j'écrivions:1061: Appel à une méthode éventuellement indéfinie gotoAndStop via une référence avec un type statique Classe

mouth.gotoAndStop(1); 

Mais je reçois cette erreur du compilateur:

1061: Call to a possibly undefined method gotoAndStop through a reference with static type Class. 

Pourquoi est-ce survenant? Merci.

+0

Cela dépend de l'endroit où vous avez placé votre code. Si vous l'avez rythmé à l'intérieur du symbole de la bouche, il suffit d'appeler gotoAndStop (1) ou stop() pour faire l'affaire. –

+0

Ça a marché, je savais que ce serait quelque chose de vraiment évident. Est-ce la seule façon dont je peux accéder au MovieClip dans AS3 ou puis-je y accéder à travers les actions du scénario principal d'une manière ou d'une autre? Je l'ai eu il y a longtemps quand j'ai eu le procès de Flash, mais je ne m'en souviens pas. –

Répondre

1

Vous devez donner à votre Movieclip un nom d'occurrence afin de le référencer par code (si vous n'utilisez pas stop() dans le clip de la bouche). Sélectionnez votre Movieclip et attribuez-lui un nom d'occurrence dans la fenêtre des propriétés. Si vous avez imbriqué votre instance en bouche et que vous voulez la contrôler à partir de la timeline/classe principale, vous devez également déclarer le corps entier du serpent.

snake.mouth.gotoAndStop(1); 

alt text

+0

Si je lui donne un nom d'instance dans la fenêtre de propriétés comme vous l'avez dit, j'obtiens toujours une erreur de compilation, 1046: Type n'a pas été trouvé ou n'était pas une constante de compilation: mouth. C'est probablement moi qui recommence à nouveau. Merci pour votre réponse, mais c'est un ver pas un serpent;) EDIT: En fait, cela fonctionne quand j'écris Bouche au lieu de la bouche comme @Theo dit. Merci, tous les deux :) –

1

Le compilateur vous dit que mouth est une classe. Je suppose que vous avez nommé à la fois la classe (symbole) et l'instance "bouche". Essayez de renommer la classe (symbole) en quelque chose d'autre, comme Mouth (la convention consiste à utiliser une majuscule pour les noms de classe).

Questions connexes