AS3 / Flash - Fügen Sie Ereignis-listener in eigene Klasse für einen button - Fehler 1061
Ich bin immer ein Fehler, während Sie versuchen, fügen Sie einen Ereignis-listener zu einer Klasse von einer Taste auf meiner Bühne.
1061: Aufruf für eine möglicherweise nicht definierte Methode addEventListener über einen Verweis mit statischem Typ Class.
Auf meiner Bühne habe ich eine Schaltfläche mit dem Instanznamen stopBtn, dies ist auch beim exportieren in ein actionscript-Klasse, die als Klassen bezeichnet werden.stopBtn (stopBtn.wie in einem Ordner namens 'classes'). Die Taste ist auf dem ersten Schlüsselbild in der Zeitleiste aus, in einer Ebene mit den anderen Tasten auf, die Schicht
Der Fehler ist in Zeile 10 der stopBtn.als Datei:
package classes {
import flash.display.SimpleButton;
import flash.events.MouseEvent;
import flash.display.MovieClip;
public class stopBtn extends SimpleButton {
public function stopBtn() {
stopBtn.addEventListener(MouseEvent.CLICK, stopButtonFunction);
}
function stopButtonFunction(event:MouseEvent):void {
MovieClip(root).trackPosition = 0;
MovieClip(root).mySoundChannel.stop();
MovieClip(root).playPause.gotoAndPlay(2);
}
}
}
Habe ich gefunden, dass viele threads für die Fehler-code 1061 aber nicht von Ihnen, anscheinend zu meinem problem!
Habe ich versucht, sicherzustellen, dass alle event-Typen importiert werden, die durch die Nutzung
Import flash.events.*; but this makes no difference.
InformationsquelleAutor TomFrom | 2011-11-10
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ihr code sollte wie
sind Sie falsch. Wenn Sie schrieb
stopBtn.add...
der compiler nahmstopBtn
als name der Klasse (public class stopBtn extends SimpleButton {
. Wenn Sie entfernt, stopBtn, der compiler nimmt es als einen impliziten Verweis auf das Objekt der Klasse. Sie können explizit angeben, dies mit derthis
Schlüsselwort.Sie müssen nicht fügen Sie diese, denn es ist gleich.addEven... und addEvent... in jeder Klasse Methoden
Ich bezweifle, dass Sie Lesen Sie meinen vollständigen Kommentar... ich habe ausdrücklich geschrieben, dass addEventListener allein nehmen eine STILLSCHWEIGENDE
this.
Jetzt verstehe ich! danke 🙂
InformationsquelleAutor zaynyatyi
Dieser sollte ziemlich offensichtlich. Sie versuchen, fügen Sie einen Ereignis-listener der Klasse, nicht das Objekt.
stopBtn
ist der name der Klasse, die Sie erstellt haben. Zum hinzufügen von Ereignis-listener der Instanz, den code so ändern,Die sicherstellen, dass Sie fügen Sie den Ereignis-listener auf die Schaltfläche Objekt, und nicht die Klasse wie Sie versuchen (Es ist nicht erlaubt, als Sie sah, weil es keinen Sinn macht)
Hoppla, das passiert vor allem, weil ich schrieb diese Antwort in 2 Sitzungen und verlor meinen Gedankengang zwischen den beiden 😛
InformationsquelleAutor Pranav Hosangadi