Um den Registrierungspunkt für eine Drehung eines Rechteckes zu verändern, benötigen wir die Matrix-Klasse. Da sich das Rechteck permanent drehen soll, muss man auf das ENTER_FRAME Event lauschen.
Für dieses Beispiel wird davon ausgegangen, dass bereits ein MovieClip mit dem Namen rect auf der Bühne liegt bzw. bereits zur Anzeigeliste hinzugefügt wurde. Dieser soll nun sozusagen mittig rotieren und nicht über seinen Standard-Registrierungspunkt beim 0,0.
//Zuerst einen EventListener anlegen rect.addEventListener(Event.ENTER_FRAME,enter_frame); //Die Geschwindigkeit der Drehung / Änderung rect.aenderung = 1; //Jeweils halbe Breite und Höhe des Rechteckes speichern var rectWH:Number = rect.width/2; //halbe breite des zu transformierenden Objektes var rectHH:Number = rect.height/2; //halbe höhe des zu transformierenden Objektes //Die EventListener-Funktion function enter_frame(evt:Event) { var rotationMatrix:Matrix = new Matrix(); //Instanz erzeugen rotationMatrix.translate(-rectWH, -rectHH); //verschiebt Objekt auf x/y-Achse rotationMatrix.rotate(rect.aenderung ); //Rotation durchführen rotationMatrix.translate(rectWH, rectHH); //nochmals verschieben rect.transform.matrix = rotationMatrix; //Transformation anwenden rect.aenderung += 1; //Geschwindigkeit hochzählen }