2010-12-11 8 views
0

Ich habe Adobe Flash CS4 für ein paar Tage verwendet. Ich habe einen Wurm gezeichnet, mit Augen und einem Mund, und diese Teile sind alle MovieClip-Symbole. Ich habe sie in ActionScript exportiert, wobei der Klassenname der gleiche ist wie sie sind (dh der Mund MovieClip wird als Mund exportiert). Der Mund hat 2 Rahmen, einen lächelnd und einen stirnrunzelnd. Ich muss in den Mund bleiben zunächst lächelnd, so in Frame 1 Aktionen schrieb ich:1061: Aufruf zu einer möglicherweise undefinierten Methode gotoAndStop durch eine Referenz mit statischen Typ Klasse

mouth.gotoAndStop(1); 

Aber ich habe diesen Compiler-Fehler:

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

Warum ist das auftritt? Vielen Dank.

+0

Es hängt davon ab, wo Sie Ihren Code platziert haben. Wenn Sie es innerhalb des Mundsymbols stimuliert haben, sollten Sie einfach gotoAndStop (1) oder stop() aufrufen. –

+0

Es funktionierte, ich wusste, dass es etwas wirklich Offensichtliches sein würde. Ist das der einzige Weg, wie ich auf den MovieClip in AS3 zugreifen kann oder kann ich über die Aktionen der Hauptzeitleiste darauf zugreifen? Ich habe das vor langer Zeit, als ich die Flash-Testversion hatte, funktioniert, aber ich kann mich nicht erinnern. –

Antwort

1

Sie müssen Ihrem Movieclip einen Instanznamen geben, um ihn per Code zu referenzieren (wenn Sie nicht stop() innerhalb des Mundclips verwenden). Wählen Sie Ihren Movieclip aus und geben Sie ihm im Eigenschaftenfenster einen Instanznamen. Wenn du deine Mundinstanz verschachtelt hast und sie von der Hauptzeitlinie/Klasse aus steuern möchtest, solltest du auch den gesamten Körper der Schlange deklarieren.

snake.mouth.gotoAndStop(1); 

alt text

+0

Wenn ich ihm im Eigenschaftenfenster einen Instanznamen gebe, wie Sie sagten, bekomme ich immer noch einen Kompilierungsfehler, 1046: Type wurde nicht gefunden oder war keine Kompilierzeitkonstante: mouth. Wahrscheinlich bin ich wieder ein Neuling. Danke für deine Antwort, aber es ist Wurm keine Schlange;) EDIT: Eigentlich funktioniert es, wenn ich Mund statt Mund schreibe wie @Theo sagte. Danke euch beiden :) –

1

Der Compiler sagt Ihnen, dass mouth eine Klasse ist. Ich nehme an, Sie haben sowohl die Klasse (Symbol) als auch die Instanz "Mund" genannt. Versuchen Sie, die Klasse (Symbol) in etwas anderes umzubenennen, z. B. Mouth (die Konvention besteht darin, einen Großbuchstaben für Klassennamen zu verwenden).

Verwandte Themen