Ein Beispiel könnte helfen? Wenn Sie Flash IDE haben, versuchen Sie dies in Ihrer Zeitleiste:
%Vor%Dieser Code demonstriert, wie die addEventListener und dispatchEvent Gegenstücke sind. Das Ereignis MOUSE_MOVE wird intern ausgelöst, Sie können jedoch Ihre eigenen Ereignisse wie MOUSE_MOVE mithilfe von dispatchEvent versenden.
Was in diesem Code passiert, ist, dass MOUSE_MOVE von der Bühne erkannt wird, aber anstatt das im mouseMoveListener zu behandeln, senden Sie ein anderes Ereignis (namens ) myCustomEvemt ), die stattdessen in myCustomEventListener behandelt wird. Es funktioniert genau wie das Ereignis MOUSE_MOVE , nur dass Sie das Ereignis anstelle des Flash-Players gesendet haben.
Hoffe, das hilft.
Grundsätzlich ist es ein Mechanismus, um Objekte zu benachrichtigen, dass etwas passiert ist. Wenn Sie ein Ereignis versenden, muss etwas auf dieses Ereignis warten.
Es ist im Grunde wie ein Telefonanruf (dispatchEvent (neues CallEvent (CallEvent.CALL))). Wenn die Person, die Sie anrufen möchten, nicht anwesend ist, hören sie nicht auf das Telefon-Ereignis, so dass sie nichts dagegen tun können. Wenn sie sich in (addEventListener (CallEvent.Call, answerHandler)) befinden, können sie sie beantworten, vielleicht direkt an die Voicemail senden.
Für eine vollständige Übersicht, lesen Sie diesen Artikel von Adobe.
Viele Programmiersprachen nutzen Ereignisse, so dass es sich lohnt, damit umzugehen.
James
Antwort auf Edit1
Es sieht so aus, als hätten Sie eine Methode, die eingerichtet wurde, um ein MouseEvent zu behandeln. Klicken Sie irgendwo auf ein Objekt. Wenn dies geschieht, wird eine andere Eigenschaft der Eigenschaft scaleX auf 0 gesetzt (wodurch sie unsichtbar wird). Ein neues Ereignis wird dann mit dem auf "setVolume" festgelegten Typ ausgelöst. Das allein würde nichts bewirken. Irgendwo anders ist dies wahrscheinlich eine Zeile, die ein wenig wie addEventListener aussieht ("setVolume", doSomethingMethod); . Wenn die ursprüngliche Methode ausgelöst wird (scheinbar ein Mausklick), sollte die doSomethingMethod ausgelöst werden.
Tags und Links flash actionscript-3 actionscript actionscript-2