Ein schöner einfacher Tag, um den Tag zu beginnen!
Ich kann dispatchEvent
nicht in meinem static class
verwenden, ich habe mich gefragt, ob jemand wüsste, wie ich ähnliche Funktionen erreichen kann oder ob es überhaupt möglich ist, dispatchEvent von meiner statischen Klasse aufzurufen?
Ich möchte grundsätzlich meinen Aktionsskriptcode in meiner Flash-Datei angeben, wenn die Funktionalität in meiner statischen Klasse abgeschlossen ist.
Danke,
Statische Klassen (Klassen mit statischen Eigenschaften und Methoden) können keine gewöhnlichen Methoden auf Instanzebene erben und können keine Schnittstellen mit statischen Methoden implementieren. Dein public static function dispatchEvent
kann also nicht an EventDispatcher
oder IEventDispatcher
teilnehmen.
Sie können dieselben statischen Methoden wie in IEventDispatcher
erstellen und dann eine statische Instanz von IEventDispatcher
erstellen, um mit Ereignissen umzugehen, aber Ihre statische Klasse selbst kann nicht EventDispatcher
sein, sondern kann nur ähnlich aussehen.
Anstatt statische Methoden aus der statischen Klasse zu verwenden. Sie könnten wie folgt verwenden.
%Vor%Sie können woanders wie folgt hören
%Vor% Eine direkte Problemumgehung, die ich sehen kann, ist eine statische Variable in EventDispatcher
zu haben - wann immer addEventListener
aufgerufen wird, fügst du sie an deine EventDispatcher
an - wann immer du ein Ereignis abfeuern willst sag es deinem EventDispatcher
.
Sie würden eine private Variable _dispatcher: EventDispatcher verwenden und die IEventDispatcher-Schnittstelle implementieren.
Sie können die Ereignisse dann über den Dispatcher routen. Lassen Sie mich wissen, ob das ausreicht, um Sie in Gang zu bringen.
Tags und Links flash actionscript-3