2. Methode mit einem Eventhandler für ENTER_FRAME

Die ersten drei Programmzeilen bleiben gegenüber der 1. Methode unverändert: Der Standardmauszeiger wird ausgeblendet und eine Instanz des Movieclips, der den neuen Cursor enthält, wird zur Anzeigeliste der Bühne hinzugefügt.
 
Mouse.hide();
var stiftCursor:MovieClip = new Stift();
this.stage.addChild(stiftCursor);

Die Movieclipinstanz stiftCursor des neuen Cursors  abonniert nun das Ereignis ENTER_FRAME. D.h. immer wenn das Ereignis ENTER_FRAME eintritt, wird die Instanz stiftCursor benachrichtigt und es wird der Eventhandler meinCursor ausgeführt.
 
stiftCursor.addEventListener(Event.ENTER_FRAME, meinCursor);

Beim Ausführen der Eventhandlerfunktion meinCursor wird der Cursor auf die aktuelle Mausposition gesetzt.
Der Eventhandler erhält als Input ein Event e. Mit e.target erhält man das Ereignisziel, in diesem Fall ist das die Instanz stiftCursor. D.h. man könnte statt e.target auch stiftCursor schreiben.
Durch Ändern der x- und y-Eigenschaft von stiftcursor wird die Position des Cursors auf die aktuelle Mausposition gesetzt. stage.mouseX und stage.mouseY liefern dabei die Koordinaten der Mausposition.
 

function meinCursor (e:Event):void {
e.target.x = stage.mouseX;
e.target.y = stage.mouseY;
}

Wichtiger Hinweis:
Bei Verwendung eines Eventhandlers für das Ereignis ENTER_FRAME ist die Ausführung des Skripts von der Framerate des Movies abhängig. D.h. bei einer niedrigen Framerate, wird die Position des Cursors nur sehr selten aktualisiert. Er springt von einem Punkt zum nächsten und folgt der Maus verzögert und ruckweise.

Zusammengefasst ergibt sich folgender Code:
 

Mouse.hide();
var stiftCursor:MovieClip = new Stift();
this.stage.addChild(stiftCursor);
stiftCursor.addEventListener(Event.ENTER_FRAME, meinCursor);
function meinCursor (e:Event):void {
e.target.x = stage.mouseX;
e.target.y = stage.mouseY;
}


Genauere Informationen über Events und Eventhandler findet man unter .......

Aufgabe:
Ändern Sie die Bildrate des Flashmovies und lassen den Standardmauscursor eingeblendet. Beobachten Sie das Verhalten des selbst erstellten Cursors in Relation zum Standardcursor.