1

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

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

4

1 回答 1

2

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

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");
}
于 2016-01-30T19:51:57.623 回答