Hier zeige ich eine Möglichkeit, wie ein Objekt in Richtung eines vorgegebenen Punktes fährt. Das Objekt soll sich immer langsamer an den Punkt annähern. Dies erreichen wir, in dem wir die Distanz vom Objekt zum Ziel ermitteln und mit einem Faktor (xSpeed, ySpeed) mulitpliziren. Den so ermittelten Wert können wir ganz einfach zu der aktuellen Position des Objektes addieren. Um der ganzen Bewegung ein Ende zu geben, brechen wir mit einem vorgegebenen Kleinstwert (xTeminate, yTerminate) ab.
Hat man einen Winkel (angle) und eine Geschwindigkeit (speed) und möchte gerne die Verschiebung auf x und y haben, so kann dies mit Sinus und Kosinus berechnet werden.
var vx:Number = speed * Math.cos(angle);
var vy:Number = speed * Math.sin(angle);
sprite.x += vx;
sprite.y += vy;
Manchmal ist es notwendig einen Hexadezimalwert in RGB Aufzugsplitten.
var red:int = color >> 16;
var green:int = color >> 8 & 0xFF;
var blue:int = color & 0xFF;
Die Umkehrung würde dann folgendermaßen aussehen
var color:int = red << 16 | green << 8 | blue;
Hat man zusätzlich einen vorrangestellten Alphawert, schiebt man Alpha 24mal nach rechts. Diesen bekommt man zum Beispiel aus der BitmapData::getPixel32
var alpha:int = color >> 24;
var red:int = color >> 16 & 0xFF;
var green:int = color >> 8 & 0xFF;
var blue:int = color & 0xFF;
//---
var color:int = alpha << 24 | red << 16 | green << 8 | blue;