开发应用程序/游戏。
我尝试检查来自一个Arraylist的每个对象与来自另一个Arraylist的每个对象之间的碰撞!
问题是我的代码碰撞只适用于最后一个对象!
这是我的代码(名称已更改):
for (Object1Class objects1 : Object1Arraylist) for (Object2Class objects2 : Object2Arraylist) {
if (Intersector.overlaps(objects1.getCollisionRec(), object2.getCollisionRec())) {
objects1.attack();
// And Some unimportant Methods for now
} else {
objects1.move();
}
if (Intersector.overlaps(objects2.getCollisionRec(), objects1.getCollisionRec())) {
objects2.attack();
// And Some unimportant Methods for now
} else {
objects2.move();
}
}
" .getCollisionRec()" method获取在Object的对象(Object1Class& Obect2Class)中创建的Rectangle,并移动到对象之上。
以下是创建Rectangle的类的一部分:
CollisionRec = new Rectangle();
CollisionRec.set(position.x + 20,position.y + 30,15,30);
简单地
public Rectangle getCollisionRec(){ return CollisionRec; }
我真的不知道应该改变什么,以便碰撞工作以及如何在碰撞后删除对象:/