我目前正在爲RPG風格的遊戲開發一個平鋪碰撞系統,它主要工作,除了與矩形交叉點有些不一致之外。Java矩形碰撞交集(並不總是有效)
protected void tileCollision()
{
AnimatedSprite player = findPlayer();
for(int i = 0; i < _sprites.size(); i++)
{
AnimatedSprite spr = _sprites.get(i);
for(int j = 0; j < tileWithinRange.length; j++)
{
Tile tile = tileWithinRange[j];
if(tile != null)
{
if(tile.getBounds().intersects(player.getBounds()))
{
player.setCollided(true);
tileCollision(player, tile, -1, -1);
} else
{
player.setCollided(false);
}
}
}
}
}
當我第一次用瓦片在啓動遊戲的碰撞,它總是返回true,但如果我沿着地磚的一列動,我開始越來越虛假的回報,然後過了一段時間我只得到虛假的回報。
Here is an image of the player intersecting with a tile
有一個明顯的交匯於此,但在這種情況下,可變相撞返回false。 ?
到底哪裏出問題了交集並不總是登記`