gpt4 book ai didi

java - 碰撞检查方法适用于 Mac,但不适用于 PC

转载 作者:行者123 更新时间:2023-12-01 19:08:01 26 4
gpt4 key购买 nike

所以我很困惑。这是我的碰撞检查方法`

 public void checkCollision ()
{
for (int i = 0; i < bullets.size()-1; i ++)
{
for (int j = 0; j < enemiesLaunched.size()-1; j++)
{
Rectangle temp = enemiesLaunched.get(j).getRectangle();
Rectangle temp2 = bullets.get(i).getRectangle();
`

if (temp2.intersects (temp))
{
String str = bullets.get(i).getPath();

// since the bullets are selective, the following code is to check
// if the right bullets hit the right germs

if (str.equals("oil gland.png")) // bullet is from oil gland
{
if (enemiesLaunched.get(j).getInfo().equals("highAcid"))
{
enemiesLaunched.get(j).setVisible(false);
bullets.remove(i);
}
}
else if (str.equals ("sweat gland.png"))
{
if (enemiesLaunched.get(j).getInfo().equals("lysozome"))
{
enemiesLaunched.get(j).setVisible(false);
bullets.remove(i);
}
}
else
{
if (enemiesLaunched.get(j).getInfo().equals("mucus"))
{
enemiesLaunched.get(j).setVisible(false);
bullets.remove(i);
}
}

`

在我的 Mac 上,它完全按照我的预期工作。然而,在我的电脑上却没有。更令人困惑的是,我在游戏中进一步实现了相同的逻辑,并且它在 Mac 和 PC 上都运行得很好,任何帮助将不胜感激!

最佳答案

你的时间增量如何,两个物体的速度是多少?如果您的时间增量足够大,您可能无法检测到碰撞,因为两个对象可能在检查之间直接穿过对方。看看here以获得解释。

关于java - 碰撞检查方法适用于 Mac,但不适用于 PC,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9361935/

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