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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 07.10.2011, 14:41
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 1  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
По умолчанию фиксация пересечения луча

Вопрос, для знающих Box2D - необходимо поместить на сцену такой объект мира box2D, который мог бы фиксировать столкновения с ним, и при этом никак не влиял на движения, тех кто с ним сталкивается.
То есть по сути луч, либо поле просто фиксирующее нахождение в нем объектов.

Я знаю как реализовать эту функцию путем проверки положения скинов объектов, но хотелось бы этого избежать и обойтись только методами box2D api.

Как отлавливать столкновения я также знаю, осталось только узнать как создать объект обладающий свойствами сенсорного поля либо луча.

Старый 07.10.2011, 14:48
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 2  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Нужно назначить описанию тела этого луча (например, если это b2PolygonDef) значение isSensor = true;
таким образом он будет фиксировать столкновения, но сам на них реагировать не будет

Старый 07.10.2011, 16:39
inozemcev вне форума Посмотреть профиль Отправить личное сообщение для inozemcev Найти все сообщения от inozemcev
  № 3  
Ответить с цитированием
inozemcev
[+ 1.0 08.10.14]
 
Аватар для inozemcev

блогер
Регистрация: Mar 2010
Адрес: x = stage.stageWidth/2 y= stage.stageHeight/2
Сообщений: 293
Записей в блоге: 2
Что то не нашел такого свойства.
Код AS3:
var my_body:b2BodyDef = new b2BodyDef();
			my_body.position.Set(px/WORLD_SCALE, py/WORLD_SCALE);
			if (d) 
			{
				my_body.type = b2Body.b2_dynamicBody;
			}
 
			var my_box:b2PolygonShape = new b2PolygonShape();
			my_box.
			my_box.SetAsBox(w/2/WORLD_SCALE, h/2/WORLD_SCALE);
 
			var my_fixture:b2FixtureDef = new b2FixtureDef();
			my_fixture.shape = my_box;
 
			var world_body:b2Body = world2D.CreateBody(my_body);
			world_body.CreateFixture(my_fixture);
			return world_body;
Добавлено через 58 секунд
Ни у b2BodyDef Ни у be2PolygonShape

Добавлено через 8 минут
Нашел у b2FixtureDef

Старый 07.10.2011, 18:32
goodguy вне форума Посмотреть профиль Найти все сообщения от goodguy
  № 4  
Ответить с цитированием
goodguy
Banned
[+1 05.11.11]
[+1 09.08.11]

Регистрация: Jan 2010
Адрес: РФ. Кемеровская область
Сообщений: 3,243
Надо было указать для какой версии бокса. В 2.1а да, у фиксчура, а в 2.0 у дефинишена )

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

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

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


 


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


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