FlxNapeSprite和碰撞

时间:2016-01-30 18:17:40

标签: haxe haxeflixel nape

我使用Nape Physics和开放版HaxeFlixel。我有几个FlxNameSprites在我的游戏中移动。 Nape自己对碰撞解决方案的处理非常好,但是我如何让自己的代码对发生的碰撞做出反应?

即如果玩家1和玩家2发生碰撞,Nape会解决碰撞并且物理发生。如何运行我自己的一些代码呢?什么是Nape相当于FlxG.overlap()?

1 个答案:

答案 0 :(得分:2)

您可以使用侦听器进行跟踪: 为对象创建CbTypes,而不是将它们分配给相应的主体。 为该CbTypes创建碰撞listener并将其添加到空间

var CBODY1 = new CbType();
var CBODY2 = new CbType();
player1.body.cbTypes.add(CBODY1);
player2.body.cbTypes.add(CBODY1);

collisionListener = new InteractionListener(
        CbEvent.BEGIN,
        InteractionType.COLLISION,
        CBODY1,
        CBODY2,
        onCollide
    );

space.listeners.add(collisionListener);

private function onCollide(cb:InteractionCallback):Void
{
    trace("COLLIDE");
}