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

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

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

Регистрация: Sep 2006
Сообщений: 453
По умолчанию Группа тел которые могут пересекатся

Как в box2d, разрешить группе тел пересекаться между собой и воздействовали только на персонажа и ещё пару объектов&
Пример картинки прикрепил чтобы было более ясно.
Изображения
 


Последний раз редактировалось 54321go; 18.07.2012 в 19:20.
Старый 18.07.2012, 20:29
caseyryan вне форума Посмотреть профиль Отправить личное сообщение для caseyryan Найти все сообщения от caseyryan
  № 2  
Ответить с цитированием
caseyryan
 
Аватар для caseyryan

Регистрация: Jun 2012
Адрес: Новосибирск
Сообщений: 6,644
Записей в блоге: 4
Все тела в бокс2д имеют категорию бит (categoryBits), по умолчанию она везде 0x0001. Т.е. все тела с такой категорией бит будут сталкиваться друг с другом. Чтобы убрать определенную категорию бит (замаскировать), то тело не будет сталкиваться с телами имеющими эту категорию.
т.е, создаем фильтр:
Код AS3:
var filter:b2FilterData = new b2FilterData();
filter.maskBits = ~0x0001;	// маскируем определенный бит
_body.GetFixtureList().SetFilterData(filter); // и добавляем фильтр к телу
После этого тело не будет сталкиваться ни с какими телами имеющими такую категорию.
Но я бы порекомендовал сначала назначить телам, которые не должны сталкиваться друг с другом другую категорию бит (так же через фильтр), например 0x0003. А потом замаскировать ее. Они будут сталкиваться с персонажем, но не будут между собой.

В общем, может где-то что-то упустил. Давно уже не делал этого, но вроде все правильно.

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

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

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


 


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


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