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