Domanda

Sto cercando di animare alcune bitmap in relazione a un punto centrale. Non iniziano tutti da quel punto centrale, ma voglio che volassero fuori come se una forza da quel punto centrale li abbia sbattuti e li ha spinti verso l'esterno radialmente, in modo tale da volare completamente dal palco.

Quindi: conosco il punto centrale e la posizione X e Y di ogni bitmap disposta attorno ad esso. Per ognuno posso tracciare una linea dal centro a quel punto x, y. Dovrei quindi essere in grado di formare l'angolo da quella linea all'orizzontale, quindi impostare un punto di destinazione più lontano su quella linea. La bitmap verrà messo in giro fino a quel momento. Credo che questo sia ciò che Math.Atan2 serve.

Ecco cosa ho mentre itero attraverso l'array di bitmaps (io è un oggetto):

var angle:Number = Math.atan2(i.bitmap.y - centerY, i.bitmap.x - centerX) * 180 / Math.PI;
var dist:Number = 200;              //arbitrary number, just to test
 destX = centerX  + dist * Math.cos(angle);  //destination x
 destY = centerY  + dist * Math.sin(angle);  //destination y

Invece di queste cose che scivolano radialmente, stanno saltando in giro.

Ho difficoltà a capire Atan2 ed esattamente cosa sto facendo di sbagliato.

Grazie,

David

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top