【发布时间】:2015-11-16 04:49:22
【问题描述】:
我目前正在为一款 RPG 风格的游戏开发一个瓷砖碰撞系统,除了与矩形交叉点存在一些不一致之外,它大部分时间都在工作。
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。
路口不总是登记的问题是什么?`
【问题讨论】:
标签: java graphics 2d rectangles collision