Показать сообщение отдельно
Старый 29.09.2009, 18:35
Neirol вне форума Посмотреть профиль Отправить личное сообщение для Neirol Посетить домашнюю страницу Neirol Найти все сообщения от Neirol
  № 1  
Ответить с цитированием
Neirol
 
Аватар для Neirol

Регистрация: Sep 2009
Адрес: X = 10, Y = 420, Z = -35
Сообщений: 52
Отправить сообщение для Neirol с помощью ICQ Отправить сообщение для Neirol с помощью Skype™
Attention Поворот объекта по направлению его движения, как?

Есть стрелообразный объект mouse.
Он играет роль мышки, т.е. mouse.startDrag(true), а мышку мы скрываем, т.е. Mouse.hide().
Вопрос в том, как повернуть mouse в ту сторону, в которую он движется?
Т.е. скажем если я двигаю мышкой вниз, следовательно и hero движется в низ, hero должен повернуться на 90 градусов, т.е. смотреть вниз.
Если я двигаю вверх, то соответственно hero смотрит вверх.
Причем движение может происходить по любому направлению, следовательно ограничеваться по 4 направлениям нельзя.

У меня появилась такая идея.

Код AS3:
Mouse.hide();
mouse.startDrag(true);
 
var mouseOldX:Number = 0;
var mouseOldY:Number = 0;
 
stage.addEventListener(Event.ENTER_FRAME, rotating);
 
function rotating(e:Event):void {
    var diffX:Number = mouseX - mouseOldX;
    var diffY:Number = mouseY - mouseOldY;
    var rAngle:Number = Math.atan2(diffY, diffX);
 
    mouse.rotation = rAngle * 180 / Math.PI;
 
    mouseOldX = mouse.x;
    mouseOldY = mouse.y;
}
Но mouse в итоге бешенно крутится в несоответствующие стороны.
Помогите пожалуйста.