我的碰撞遇到了一些问题,在最终弄清楚如何让它碰撞后我只能让pacman重置到一个固定位置而不知道如何让他留在他应该的地方
player.update();
for (int y = 0; y < NrOfTilesY; y++)
{
for (int x = 0; x < NrOfTilesX; x++)
{
if (tileArray[x, y] is Nest)
{
Rectangle rectW = tileArray[x, y].Bounds();
Rectangle rectP = Player.pacmanBounds;
if(rectW.Intersects(rectP))
{
Player.pacmanBounds.X = 32;
Player.pacmanBounds.Y = 32;
}
}
}
}
答案 0 :(得分:0)
在移动播放器之前,请复制其位置。
如果它在移动后发生碰撞,请将其重新放置到最后位置。
此外,我认为值得注意的是,您不需要测试电路板的每个瓷砖,而只需测试播放器周围的瓷砖。玩家的位置应该为您提供哪个图块,并且应该很容易找到该图块旁边的图块。