Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > API приложений и сред

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 21.02.2011, 18:33
1g0rrr вне форума Посмотреть профиль Отправить личное сообщение для 1g0rrr Найти все сообщения от 1g0rrr
  № 1  
Ответить с цитированием
1g0rrr

Регистрация: Jul 2009
Адрес: Донецк
Сообщений: 25
По умолчанию Пролетание тел друг через друга, как побочный эффект RevoluteJoint

Добрый день. Задача такая: есть снаряд, который на некоторой скорости врезается в стену. В момент врезания - снаряд должен привязаться к этой стене с помощью revoluteJoint-a и при этом остаться на месте столкновения. Задача - достаточно простая, но при реализации - возникает проблема. Если часто выстреливать этот снаряд в стену, то он начинает сквозь неё пролетать. При этом, если снаряд не привязывать джоинтом, то пролёта сквозь стену - не наблюдается.

По документации, при обьединении тел джоинтом эти тела перестают сталкиваться. И действительно, если я ставлю джоинту collideConnected = true, пролёта - нет.

Но я ведь удаляю джоинт! Следовательно ожидаю, что и тела должны снова сталкиваться правильно. Никак не могу обойти этот глюк. Подскажите пожалуйста, почему такое поведение может возникать?

Набросал тестовую сцену, чтобы можно было воспроизвести глюк. Исходник - во вложении. Для повтора бага нужно клатсать мышью где-то 3-5 раз в секунду.
Вложения
Тип файла: rar TestJoint.rar (356.3 Кб, 1113 просмотров)

Старый 22.02.2011, 06:07
Alex Lexcuk вне форума Посмотреть профиль Отправить личное сообщение для Alex Lexcuk Посетить домашнюю страницу Alex Lexcuk Найти все сообщения от Alex Lexcuk
  № 2  
Ответить с цитированием
Alex Lexcuk

блогер
Регистрация: Mar 2008
Адрес: Донецк_city
Сообщений: 1,094
Записей в блоге: 5
Может надо после столкновения делать не жоинт, а делать новую стену, где снаряд будет приклеен намертво.
__________________
Гоночка

Старый 22.02.2011, 12:56
1g0rrr вне форума Посмотреть профиль Отправить личное сообщение для 1g0rrr Найти все сообщения от 1g0rrr
  № 3  
Ответить с цитированием
1g0rrr

Регистрация: Jul 2009
Адрес: Донецк
Сообщений: 25
Дело в том, что снаряд должен продолжать крутится вокруг точки. Тоесть как раз джоинт и нужен. Мне пришло в голову решение проблемы: пересоздавать снаряд заново после каждого выстрела. Так на него не будет действовать побочный эффект прошлых джоинтов. Но это, к сожалению, "костыль".

Создать новую тему Ответ Часовой пояс GMT +4, время: 12:10.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Теги
bug , RevoluteJoint , тунеллирование

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


Часовой пояс GMT +4, время: 12:10.


Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.