我遇到挡块/墙壁检测问题:
red = character
green = block / wall
尝试:当我的角色接触时,例如左侧的一个块/墙应该留在左侧。
int len = blocks.size();
for (int b = 0; b < len; b++) {
Block block = block.get(i);
Rectangle r1 = red.bounds;
Rectangle r2 = block.bounds;
if((r1.lowerLeft.y + r1.height/2) > (r2.lowerLeft.y - r2.height/2)) {
...
}
if((r1.lowerLeft.y - r1.height/2) < (r2.lowerLeft.y + r2.height/2)) {
...
}
if((r1.lowerLeft.x + r1.width/2) > (r2.lowerLeft.x - r2.width/2)) {
...
}
if((r1.lowerLeft.x - r1.width/2) < (r2.lowerLeft.x + r2.width/2)) {
...
}
}
答案 0 :(得分:0)
好像你只需要混合代码。 你的条件是找出它是否在顶部然后计算如果它在底部必须做什么。只是在条件内交换代码,你就可以了,我猜!