Показать сообщение отдельно
Старый 15.06.2011, 21:19
makspayne вне форума Посмотреть профиль Отправить личное сообщение для makspayne Найти все сообщения от makspayne
  № 1  
Ответить с цитированием
makspayne

Регистрация: May 2011
Сообщений: 2
Attention Движение на объект с плавным поворотом

При нажатии мыши в любом месте, фиксируются её координаты в XPOD и YPOD. Есть движущийся на эту точку объект. Не удается сделать плавный разворот в нужную сторону! Если объект движется влево и щелкнуть мышью позади объекта, то он разворачивается только вправо. Тоже самое если объект движется вправо, то поворачивается только влево!

Код AS1/AS2:
delta_x = _x- XPOD; //разность X координат между объектом и точкой
delta_y = _y- YPOD; //разность Y координат между объектом и точкой
rot = -Math.atan2(delta_x, delta_y)/(Math.PI/180); //вычисление угла поворота
 
if (this._rotation<rot) { //сравнивание с текущим углом поворота
this._rotation += 2;	
}
if (this._rotation>rot) {
this._rotation -= 2;	
}
Проблема в том что _rotation измеряется не от 0 до 360, а как-то странно: в правой части от объекта от 0 до 180, а в левой от -180 до -0. Из-за этого объект поворачивает не в сторону точки, а описывает большой полукруг =( Хелп! Читал статьи, ничего не понял.у меня AS1..


Последний раз редактировалось makspayne; 16.06.2011 в 01:31.