我正在开发2D侧滚动Android游戏,使用AndEngine及其BOX2D扩展。BOX2D - 与Monster碰撞
我的球员身上,用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();
}
但每次我在怪物的“头”跳时间(所以基本上我与脚传感器触摸它)死亡的行动被执行。因为两个联系人都被联系人监听者注意到,所以如果我将脚传感器设置得更高,它就会更有效地突出玩家身体(玩家身体是玩家的精灵纹理的确切形状),所以看起来好像玩家和怪物之间没有接触在所有。
在此先感谢您的任何提示如何正确处理它。
非常感谢,事实上,它是最简单的方法,我遇到了与玩家身体有关的一些问题,但最终它仍然有效。我刚刚添加了第三个称为'down'的固定夹具 - 所以现在有2个固定夹具和一个传感器(脚传感器) – Matim