Java:游戏中的优化算法
我正在用scene2d创建一个游戏(Java) 我写了一个碰撞检测的函数,但我认为这是一个糟糕的函数。看起来很糟糕 我如何优化它?使更快更漂亮Java:游戏中的优化算法,java,android,algorithm,libgdx,scene2d,Java,Android,Algorithm,Libgdx,Scene2d,我正在用scene2d创建一个游戏(Java) 我写了一个碰撞检测的函数,但我认为这是一个糟糕的函数。看起来很糟糕 我如何优化它?使更快更漂亮 private void deleteEnemies() { for(int i = 0; i < getActors().size - 1; i++) { if(getActors().get(i) != null && getActors().get(i) instanceof Enemy)
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();
}
}
}
//////////////
}
}
}
private void deleteEquals()
{
对于(int i=0;i
getActors().get(i)
放在变量中,如果getActors()相同。在内部if中获取(j)
.size
函数getActors().get(i)
放在变量中,如果getActors()相同。在内部if中获取(j)
.size
函数getActors().get(i)
放在变量中,如果getActors()相同。在内部if中获取(j)
.size
函数getActors().get(i)
放在变量中,如果getActors()相同。在内部if中获取(j)
.size
函数 if(getActors().get(i) != null && getActors().get(i) instanceof Enemy)
if(getActors().get(i) != null) {
if(getActors().get(i) instanceof Enemy) {
.....
}
}
private void deleteEnemies () {
List<Actor> actors = getActors();
List<Actor> toRemove = new ArrayList<Actor>();
int actorsSize = actors.size();
Actor first = null, second = null;
for(int i = 0; i < actorsSize; ++i) {
first = actors.get(i);
for(int j = 0; j < actorsSize; ++j) {
if(i == j) continue;
second = actors.get(j);
if(first.intersects(second)) {
toRemove.add(first);
toRemove.add(second);
}
}
}
actors.removeAll(toRemove);
}
for (Actor enemy : getActors()) {
if (enemy != null && enemy instanceof Enemy) {
for (Actor ball : getActors()) {
if (ball != null && ball instanceof Ball && actorsIntersecting(enemy, ball)) {
ball.remove();
enemy.remove();
}
}
}
}