![]() |
box2d Изменение положения статического тела
Есть необходимость переместить статическое тело. Использую метод SetPosition, нет никакого результата. При этом динамическое тело таким способом нормально перемещается.
Подскажите как решить проблему? |
Я удаляю статическое тело и создаю его заново в новых координатах.
|
Из оф мануала:
Цитата:
Правда на счет АС3 версии не знаю. Хотя мне тоже в ближайшем будущем прийдется разобраться в этой проблеме. |
Использую версию 2.1а. Оказывается, что в моем случае дело не в том, что тело статическое. Метод SetPosition не работает в моменты коллизий (вызываю либо из BeginContact, либо из EndContact), как со статическими, так и с динамическими телами. Причем у динамического тела получается изменить его скорость, вращение, а вот позицию нет.
Кто-нибудь знает чем обусловлено данное поведение движка? |
Движек расчитывает исходя из физических законов и от этого будет зависеть положение тела, так что в этот момент ставить телу позицию бессмысленно, так как она (позиция) всё равно будет пересчитана.
Можно делать вроде такого Код AS3:
|
| Часовой пояс GMT +4, время: 01:12. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.