【发布时间】:2012-01-21 13:54:58
【问题描述】:
我正在使用 AndEngine 及其 BOX2D 扩展开发 2D Side scroll Android 游戏。
我有玩家的身体,有 2 个用于“脚”和“头”的传感器,所以我可以准确地知道玩家的哪一侧触摸了不同的物体等。下面的图片展示了它是如何工作的:
它适用于检查玩家当前是否用脚接触地面,例如他可以跳跃等。现在我正在尝试实现与怪物身体接触后执行的动作。
在我的接触传感器中,我正在检查
if (x1.getBody().getUserData().equals("monster") && x2.getUserData().equals("foot"))
{
jump();
}
if (x1.getBody().getUserData().equals("monster") && x2.getUserData().equals("player"))
{
GameManager.playSound(lostSound);
handleDie();
}
但是每次我跳到怪物的“头”上(所以基本上我是用脚传感器触摸它)时,就会执行死亡动作。因为接触侦听器会注意到两个接触,所以如果我将脚传感器设置得更高,从玩家身体突出更多(玩家身体是玩家精灵纹理的确切形状),所以看起来玩家和怪物之间没有接触完全没有。
提前感谢您提供如何正确处理它的任何提示。
【问题讨论】:
标签: java android box2d andengine