Показать сообщение отдельно
Старый 16.03.2011, 09:54
ЗлОй ПрОграММер вне форума Посмотреть профиль Отправить личное сообщение для ЗлОй ПрОграММер Найти все сообщения от ЗлОй ПрОграММер
  № 19  
Ответить с цитированием
ЗлОй ПрОграММер

Регистрация: Nov 2010
Сообщений: 434
Чтобы повернуть обьект(object) в сторону точки (NextPoint) подойдёт вот этот код:
(за вами остаётся только каждый раз вычислять координату обьекта и точку в которую он будет двигаться)

Код AS3:
dx = objectPoint.x - NextPoint.x;
dy = objectPoint.y - NextPoint.y;
 
if (dx < 0) angle1 = Math.atan(dy/dx)*180/Math.PI+90
else angle1 = 359 + Math.atan(dy/dx)*180/Math.PI-90;
 
if (object.rotation >= 0) angle2 = object.rotation
else angle2 = 360 + object.rotation;
 
dAngle = Math.abs(angle1-angle2);
 
if (dAngle > 2.7) {
  if (dAngle < (360 - dAngle)) {
        if (angle1 < angle2) object.rotation -=2
	else object.rotation += 2; 
  }
  else {
        if (angle1 < angle2) object.rotation += 2
	else object.rotation -= 2; 
  }						
}
можете сделать чтобы он поворачивался за курсором мыши тогда код:
Код AS3:
dx = objectPoint.x - stage.MouseX;
dy = objectPoint.y - stage.MouseY;


Последний раз редактировалось ЗлОй ПрОграММер; 16.03.2011 в 09:57.