Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Box2D определение столкновений (http://www.flasher.ru/forum/showthread.php?t=119418)

YFred 19.12.2008 23:55

Box2D определение столкновений
 
У меня есть 2 тела (игрока) которые движуться, надо определить момент их столкновения и точки соприкосновения. Подскажите если не трудно как это делается?
В документации про определение момента столкновений ничего не вычитал.

ZlPredator 20.12.2008 08:52

Узнать, о пересечении можно с помощью:
Код AS3:

var isIntersect:Boolean = player1.hitTestObject(player2));

Зону пересечения можно рассчитать:
Код AS3:

function intersectZone(player1:DisplayObject, player2:DisplayObject, 
    targetCoordinateSpace:DisplayObject):Rectangle
{
 return player1.getRect(targetCoordinateSpace).intersection(player2.getRect(targetCoordinateSpace));
}

targetCoordinateSpace - клип, относительно которого необходимо рассчитать координаты (например, root).

YFred 20.12.2008 10:30

Тоесть при определении столкновений не используется Box2D?
А если мне требуется определить пересечение форм box2D двух тел, а не 2х отображаемых объектов? Ведь к телу может быть приложено несколько форм и может потребоваться найти столкновение только определенных форм.

TERRORist 20.12.2008 17:16

ZlPredator бесполезный совет...
определять столкновения нужно будет с помощью класса b2ContactListener

YFred 20.12.2008 19:19

TERRORist не подскажешь как спользовать класс b2ContactListener? Или дай ссылку на пример. У самого чет неполучается разобраться :wacko:

musat 21.12.2008 00:48

Меня этот вопрос тоже очень интересует.
Только начинаю разбираться с Box2D, сначала думал, что есть класс, например, b2Event, и при столкновениях генерируются события, а его оказывается нет :(

librio 21.12.2008 15:56

Советую поискать на официальном форуме Box2D. Там есть много отличных примеров :)

musat 21.12.2008 17:01

Вот, нашел - http://www.box2d.org/wiki/index.php?...s_in_Box2D_AS3

YFred 21.12.2008 18:39

Всем спасибо уже сам нашел примеры и разобрался. musat спасибо за пример :)


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

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