gpt4 book ai didi

java - box2d 接触监听装置顺序

转载 作者:行者123 更新时间:2023-12-02 07:21:51 24 4
gpt4 key购买 nike

我试图了解它是如何工作的。

在我的游戏中,我使用 box2d 物理来处理接触,我使用接触监听器,例如:

ContactListener contactListener = new ContactListener()
{
@Override
public void beginContact(Contact contact)
{
final Fixture x1 = contact.getFixtureA();
final Fixture x2 = contact.getFixtureB();

if (x1.getBody().getUserData() != null && x2.getBody().getUserData() != null)
{
if (x1.getBody().getUserData().equals("player"))
{
player.increaseFootContacts();
}
}
}

问题是,这些赛程有顺序吗? (x1或x2)经过2次测试,我发现在这种情况下,我的玩家将是x1,而其他对象将是x2,我是否还应该检查相反的顺序? (如果 x2 是玩家,依此类推)?

最佳答案

不,不能保证哪个固定装置就是哪个。您必须检查两种可能性,如下所示:

if ( (userdataA.equals("player") && userDataB.equals("ground")) ||
(userdataA.equals("ground") && userDataB.equals("player")) )
player.increaseFootContacts();

关于java - box2d 接触监听装置顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14104813/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com