Pregunta

Estoy tratando de animar algunos mapas de bits en relación con un punto central. No todos comienzan en ese punto central, pero quiero que vuelen como si una fuerza desde ese punto central se estrelló contra ellos y los empujó hacia afuera radialmente, de modo que volan completamente fuera del escenario.

Entonces: conozco el punto central, y la posición X e Y de cada mapa de bits dispuesto a su alrededor. Para cada uno puedo dibujar una línea desde el centro hasta ese punto X, Y. Luego debería poder obtener el ángulo formado por esa línea a la horizontal, y luego establecer un punto de destino más lejos en esa línea. El mapa de bits se entregará hasta ese punto. Creo que para eso es Math.atan2.

Esto es lo que tengo cuando itero a través de la matriz de mapas de bits (yo es un objeto):

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

En lugar de que estas cosas se deslicen radialmente, están saltando.

Tengo problemas para comprender ATAN2 y exactamente lo que estoy haciendo mal.

Gracias,

David

No hay solución correcta

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top