![]() |
Движение авто (top-down)
Добрый вечер!
Подскажите пожалуйста как правильно задать угловую скорость? Т.е. чтобы объект не сам поворачивался, а сменил траекторию движения. Читал на сайте emanuele статью про машину, но там как то слишком сложно все сделано, т.к. у него добавлены 4 колеса и т.д., хочется понять как оно работает. Пробовал через Код AS3:
Попробовал через Код AS3:
Я так понимаю нужно через тот же ApplyForce, только рассчитать векторы х и у, но как не знаю. Прошу помощи. Код Код AS3:
|
По нажатии кнопок нужно плавно менять угол тачки (setAngle). А из этого угла вычислять вектор.
Для этого нужно вычислить скалярную скорость так: Код:
var v = Math.sqrt(boxBody.vx*boxBody.vx + boxBody.vy*boxBody.vy)Код:
boxBody.ApplyForce(new b2Vec2(Math.cos(boxBody.a)*v, Math.sin(boxBody.a)*v),boxBody.GetPosition());Т.е. при нажатии вправо-влево меняем угол, при нажатии вверх наращиваем скорость, а после всего этого применяем вышенаписанное. |
Большое спасибо, вроде работает. boxBody.a это имеется ввиду ускорение или скорость?
|
Я имел в виду угол поворота машинки, не знаю какой там в box2d параметр.
|
не в боксе методы работают, а бокс как то по другому себя ведет что ли, вобщем запутался я..
Кто может помочь, очень хочется понять эту штуковину, есть несколько вопросов по box2d as3, готов за каждый решенный вопрос заплатить 1$ :) |
| Часовой пояс GMT +4, время: 08:05. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.