движение в 2d

Тема в разделе "Разработка игр и приложений к ним", создана пользователем burime, 9 май 2011.

Статус темы:
Закрыта.
  1. burime

    burime Гость

    Может у кого есть алгоритм и не жалко поделиться.

    Суть такова: при нажатии на стрелку вверх увеличиваю координаты X, вниз следовательно уменьшаю, но как осуществить поворот при нажатии на стрелки влево и вправо, что бы объект продолжал двигаться не боком, тупо в сторону координаты X, а изменял направление движения а не угол вращения текстуры

    В общем сперва сделал что^
    стрелка "вправо" - увеличиваю Y
    стрелка "влево" - уменьшаю Y
    стрелка "вверх" - увеличиваю X
    стрелка "вниз" - уменьшаю X

    но это бред, учитываю что я двигаю не какой нибудь шар, а конкретный объект и неадекватно смотрится когда танк едет боком, пытался на стрелки влево и вправо менять угол вращения, ситуация не сильно изменилась едет так же само по иксу но другим боком, короче жду подсказок, ведь истина где то рядом
     
  2. lazybiz

    lazybiz Well-Known Member
    C\C++ Team

    Регистрация:
    3 ноя 2010
    Сообщения:
    1.344
    Симпатии:
    0
    Это делается элементарно.

    x = x * cos( angle ) - y * sin( angle )
    y = x * sin( angle ) + y * cos( angle )
     
Загрузка...
Статус темы:
Закрыта.

Поделиться этой страницей