|
|
« Предыдущая тема | Следующая тема » |
Опции темы | Опции просмотра |
|
|
|||||
Регистрация: Dec 2008
Адрес: Одесса
Сообщений: 129
|
Вот что у меня вышло
http://megaswf.com/serve/101943/ Клик мышкой добавит новый бокс на поле. Никак не могу исправить это вхождение в друг друга при столкновении. Вот код // Мир var gravity:Vec2 = new Vec2(0, 0); space = new UniformSleepSpace(new AABB(0, 0, 800, 600), 20, gravity); //Машина carPhObj = Tools.createBox(300, 200, 100, 50, 0, 0, 0, false, Material.Steel); space.addObject(carPhObj); addChild(carPhObj.graphic); //Пол floorPhObj = Tools.createBox(400, 500, 800, 50, 0, 0, 0, true, Material.Steel); space.addObject(floorPhObj); addChild(floorPhObj.graphic); private function moveCar():void { if (isLeftKeyDown) { carAngle --; }else if (isRightKeyDown) { carAngle ++; } if (isUpKeyDown) { carSpeed += carAccel; }else if (isDownKeyDown) { carSpeed -= carAccel; } var angle:Number = carAngle * Math.PI/180 ; var speedX:Number = carSpeed * Math.cos(angle); var speedY:Number = carSpeed * Math.sin(angle); carPhObj.px += speedX; carPhObj.py += speedY; carPhObj.setPos (carPhObj.px, carPhObj.py, angle); carPhObj.update(); space.sync(carPhObj); } |
|
|||||
Ralph_DiMarko, совершенно неверный подход. Прочитай мой пост на первой странице еще раз.
__________________
while(1) {} |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
У разработчиков глухо как в танке. Я первым делом писал им (точнее на их форуме), и не один раз. Ни одного ответа не было
|
|
|||||
Регистрация: Dec 2008
Адрес: Одесса
Сообщений: 129
|
Division, премного благодарен, но признаюсь мне тяжело это все перевести в код
Но ну допустим неверный подход, но это же не должно влиять на столкновение, может это не машина а просто коробочка, которую я сдвинул немного. |
|
|||||
Очевидно же, застряет потому что setPos вызывается. Машина - динамический объект, который подчинается законам симуляции.
Я сам спрашивал что-то на форуме, Лука ответил, не сразу правда. Повторюсь. Чтоб было нормально - делается два круга-колеса. Они цепляются PivotJointами(или скорее PinJoint) к корпусу. И влияние осуществляется на колеса(их скорость проецируется на вектор направления колеса), а не на саму машину.
__________________
while(1) {} Последний раз редактировалось Division; 20.01.2011 в 22:37. |
|
|||||
Регистрация: Dec 2008
Адрес: Одесса
Сообщений: 129
|
а.. кажется понял.
ей просто нужно придать инерцию чтобы она сама покатилась, тогда наверняка не будет такого.. |
|
|||||
а вот это как вышло ? реалистично ?
(сама скорость одинкова - не делал ее увеличение снижение, тоесть если вы не жмете вперед - то машина не едет и влево вправо тока вмсте с перед работает)
__________________
мира и гармонии |
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
катание по льду. Примерно тоже самое у меня получалось
|
|
|||||
Banned
[+1 05.11.11]
[+1 09.08.11] Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
|
Два дня работы, и получилось вот что.
Есть еще проблемы с задним ходом, и величины нужно подстроить, но уже прогресс. Думаю так же сделать все-таки 4 колеса. Будет реалистичнее На Box2D 2.0 работает, если делаю тоже самое на Box2D 2.1 linear и angular damping работают коряво. Похоже глюк движка Последний раз редактировалось goodguy; 07.03.2011 в 14:19. |
Часовой пояс GMT +4, время: 03:05. |
|
« Предыдущая тема | Следующая тема » |
|
|