Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   API приложений и сред (http://www.flasher.ru/forum/forumdisplay.php?f=61)
-   -   [...] Nape: Обработка события столкновения (http://www.flasher.ru/forum/showthread.php?t=176895)

kimagg 20.03.2012 11:14

Nape: Обработка события столкновения
 
Работаю с Nape physics engine.
Возник такой вопрос. Как получить информацию о событии столкновения двух тел? Нужно найти оба тела и параметры соударения (сила, скорость, угол).

Добавлено через 57 минут
Нашел ответ ВОТ ТУТ.
На AS3 выглядит примерно так:
Код AS3:

var space:Space;
var body1:Body = new Body(BodyType.DYNAMIC);
var body2:Body = new Body(BodyType.DYNAMIC);
var cb1:CbType = new CbType();
var cb2:CbType = new CbType();
 
//создаем мир
space = new Space();
stage.addEventListener(Event.ENTER_FRAME, update);
function update(e:Event):void{space.step(1/20, 1, 1);}
 
//тут создаем тела (кусок кода с созданием тел упущен), а после..
body1.cbType = cb1;
body2.cbType = cb2;
 
//ну и наконец создаем листнер соударения
space.listeners.add(new InteractionListener(CbEvent.BEGIN, InteractionType.COLLISION, cb1, cb2, myfun));
 
function myfun(cb:InteractionCallback):void
{
        trace("Произошло соударение:");       
        var b1:Body = cb.int1.castBody;
        var b2:Body = cb.int2.castBody;
        trace("Позиция тела №1: ", b1.position);
        trace("Позиция тела №2: ", b2.position);
        var carb:CollisionArbiter = cb.arbiters.at(0).collisionArbiter;
        trace("Точка соударения:", carb.contacts.at(0).position);
}



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

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