gpt4 book ai didi

Java:优化游戏中的算法

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:45:23 25 4
gpt4 key购买 nike

我正在使用 scene2d 创建游戏 (Java)。

我编写了碰撞检测功能,但我认为它是个糟糕的功能。看起来很糟糕。

如何优化它?让更快更漂亮。

private void deleteEnemies()
{
for(int i = 0; i < getActors().size - 1; i++)
{
if(getActors().get(i) != null && getActors().get(i) instanceof Enemy)
{
////////////////
for (int j = 0; j < getActors().size - 1; j++)
{
if(getActors().get(j) != null && getActors().get(j) instanceof Ball)
{
if (actorsIntersecting(getActors().get(i), getActors().get(j)))
{
getActors().get(i).remove();
getActors().get(j).remove();
}
}
}
//////////////
}
}
}

最佳答案

  1. getActors().get(i)放在一个变量里,不要在外面调用两次
  2. 内部 if 中的 getActors().get(j) 相同
  3. 在最内部的 if 条件和正文中使用这些变量
  4. 将大小保存在变量中,因为现在检查 for 条件时,每次迭代都会调用 .size 函数
  5. 您不应该为循环条件使用可以在循环期间动态更改的大小(因为您正在删除项目)这将我们带回到#4。除此之外,它的编码风格非常好,我怀疑你能否使它比我告诉你的更有效(除了使用线程)

关于Java:优化游戏中的算法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26149016/

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