Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [Box2D] фиксация пересечения луча (http://www.flasher.ru/forum/showthread.php?t=169563)

inozemcev 07.10.2011 14:41

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

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

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

goodguy 07.10.2011 14:48

Нужно назначить описанию тела этого луча (например, если это b2PolygonDef) значение isSensor = true;
таким образом он будет фиксировать столкновения, но сам на них реагировать не будет

inozemcev 07.10.2011 16:39

Что то не нашел такого свойства.
Код 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

goodguy 07.10.2011 18:32

Надо было указать для какой версии бокса. В 2.1а да, у фиксчура, а в 2.0 у дефинишена )


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

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