Показать сообщение отдельно
Старый 16.01.2012, 22:08
am_devcorp вне форума Посмотреть профиль Отправить личное сообщение для am_devcorp Найти все сообщения от am_devcorp
  № 9  
Ответить с цитированием
am_devcorp
 
Аватар для am_devcorp

Регистрация: Jan 2012
Адрес: (0;0;0) относительно меня
Сообщений: 82
Отправить сообщение для am_devcorp с помощью Skype™
Цитата:
Сообщение от Vektor Посмотреть сообщение
Вроде так.
Код AS3:
var distX=A.x-B.x;
var distY=A.y-B.y;
var dist = Math.sqrt(distX*distX+distY*distY);
var time = dist/speed;
//Получаем скорость по Х и Y.
var mcSpeedX= distX/time;
var mcSpeedY= distY/time;
Хотя задача и решена, но всё же не лучше ли использовать фичи .geom.Point -a?
Код AS3:
 
import flash.geom.Point;
 
var speed:int = 5
var sp:Point =  new Point(B.x - A.x, B.y - A.y)
sp.normalize(speed)
trace(sp.x*sp.x+sp.y*sp.y) // speed^2 = 25
mcSpeedX = sp.x
mcSpeedY = sp.y
И вообще - использовать два намбера для хранения скорости вместо класса вектора(геометрического, ясное дело) - фи-фи-фи, как некрасиво

//случайно пропустил ответ samana, но здесь я делал упор именно на Point.normalize()
__________________
cats are supreme beings


Последний раз редактировалось am_devcorp; 16.01.2012 в 22:13.