FlxNapeSprite 和碰撞

FlxNapeSprite and collisions

我将 Nape Physics 与 HaxeFlixel 的开发版本一起使用。我有一些 FlxNameSprites 在我的游戏中移动。 Nape 自己对冲突解决的处理非常出色,但是我如何让我自己的代码也对发生的冲突做出反应?

也就是说,如果玩家 1 和玩家 2 发生碰撞,Nape 会解决碰撞并发生物理现象。我怎样才能制作一些自己的代码 运行? FlxG.overlap() 的 Nape 等价物是什么?

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

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");
}