我将 Nape Physics 与 HaxeFlixel 的开发版本一起使用。我的游戏中有一些 FlxNameSprites 在移动。Nape 自己对冲突解决的处理非常好,但是我如何让我自己的代码也对发生的冲突做出反应呢?
即,如果玩家 1 和玩家 2 发生碰撞,Nape 会解决碰撞并发生物理。我怎样才能让我自己的一些代码也运行?FlxG.overlap() 的 Nape 等价物是什么?
我将 Nape Physics 与 HaxeFlixel 的开发版本一起使用。我的游戏中有一些 FlxNameSprites 在移动。Nape 自己对冲突解决的处理非常好,但是我如何让我自己的代码也对发生的冲突做出反应呢?
即,如果玩家 1 和玩家 2 发生碰撞,Nape 会解决碰撞并发生物理。我怎样才能让我自己的一些代码也运行?FlxG.overlap() 的 Nape 等价物是什么?
您可以使用侦听器进行跟踪:为对象创建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");
}