【发布时间】:2013-10-16 21:27:58
【问题描述】:
我正在用andengine 开发一款游戏。我希望我的玩家只能跳一次。所以我使用了联系人列表器。但它并不总是有效。大部分都有效,但并非总是如此。请检查代码并告诉我我的错误。
我有播放器对象和十个 box2d 静态对象。我不明白这个联系人监听器如何检测播放器和这些盒子之间的碰撞。因为我也有其他盒子。例如:播放器、方形和圆形。为什么这个接触监听器会在玩家和广场之间检测到?为什么不在圆形和方形之间?
private ContactListener contactListener()
{
ContactListener contactListener = new ContactListener()
{
@Override
public void beginContact(Contact contact)
{
player.setJumping(false);
}
@Override
public void endContact(Contact contact)
{
player.setJumping(true);
}
};
return contactListener;
}
【问题讨论】:
-
从联系人中,您可以获得碰撞的两个灯具。然后您可以检查它们是哪些灯具。
-
相信我这个玩家和其他人之间的代码检查。怎么会这样?
-
您发布的代码根本没有检查任何内容。例如在 beginContact 函数中,您应该在调用 player.setJumping 之前检查其中一个固定装置是播放器,对吗?否则,即使其他一些东西开始接触,玩家状态也会改变。
-
我同意你的看法。我该如何检查?
-
就像我在上面的第一条评论中所说的那样。同样的问题:stackoverflow.com/questions/11835981/…
标签: android box2d collision-detection andengine