package { import flash.display.MovieClip; import flash.events.Event; import flash.events.TimerEvent; import flash.utils.Timer; public class Main extends MovieClip { // Konstanten private const c_r: Number = 100; private const c_delta: Number = 1.0/128; // Zustandasvariablen private var v_x0: Number; private var v_y0: Number; private var v_phi: Number = 0; // Ein Timer, der ca. alle 10 ms eine Nachricht schickt private var v_timer: Timer = new Timer(10); // Konstruktor public function Main() { v_x0 = mc_text_hello.x; // Auf Elemente, die auf der Bühne liegen v_y0 = mc_text_hello.y; // kann i. Allg. direkt zugegriffen werden. // Jedes mal, wenn der Timer die Nachticht "TimerEvent.TIMER" // schickt, wird die Methode "o_move_next" ausgeführt. v_timer.addEventListener(TimerEvent.TIMER, o_move_text); v_timer.start(); } // Observer-Methode zum Bewegen des "text_hello" Objektes private function o_move_text(p_event: TimerEvent): void { mc_text_hello.x = v_x0 + Math.sin(v_phi)*c_r; mc_text_hello.y = v_y0 - Math.cos(v_phi)*c_r; if (v_phi >= 2*Math.PI) v_phi = Math.PI*c_delta; else v_phi += Math.PI*c_delta; // Zeichne den Inhalt der Bühne (stage) neu! // Warte damit nicht bis zum nächsten Frame-Wechsel! p_event.updateAfterEvent(); } } }