【发布时间】:2014-02-21 15:22:50
【问题描述】:
在我的 android 游戏中,只要我的数组中只有一个矩形,碰撞就会起作用,因此它适用于:
rects = new Rectangle[1];
for(int i = 0; i < rects.length; ++i)
rects[i] = new Rectangle(i * 150, 0, 150, 150);
但如果我添加另一个矩形rects = new Rectangle[2];
我的碰撞代码如下所示:
public boolean collision(Rectangle rect){
return (Intersector.overlaps(playerBound, rect));
}
我是这样使用它的:
for(int i = 0; i < rects.length; ++i){
if(!collision(rects[i]))
player.setY(player.getY() - 1f);
}
playerBound 是这样初始化的:playerBound = new Rectangle(player.getX(), player.getY(), player.getWidth(), player.getHeight() + 1);
有什么问题?如果数组中只有一个矩形,但如果还有更多,我不明白它是如何工作的。
【问题讨论】:
-
你确定第二个新矩形在大括号之间吗,总是使用大括号来包含循环或 if 语句中的功能。
标签: java android libgdx collision-detection