考虑使用ArrayList<Rectangle> rectangles = new ArrayList();
和具有矩形变量Character c = new Character(new Rectangle(x,y,w,h));
的Player类。 Character类有update()
,如此:
public void update(){
rectangle.x = rectangle.x + xSpeed;
rectangle.y = rectangle.y + ySpeed;
}
xSpeed
&amp; ySpeed
不断变化,update()
不断被召唤。
如何正确检查ArrayList中的字符矩形和任何矩形是否相交?如果是,则阻止字符矩形移动?
答案 0 :(得分:0)
查看Rectangle API,您将看到可以使用的交叉(Rectangle r)方法。 Intersects Method
通过使用循环将对象与ArrayList中的所有对象矩形进行比较,可以检查每次更新的冲突。如果方法返回true,那么你可以随意处理碰撞。