0

我正在研究瓷砖碰撞。目前,我只是以正常方式(两个 for 循环)绘制平铺地图并且没有滚动。现在,要检查我的玩家是否在瓷砖上,我使用tileX = (int)person1v.X / 16; tileY = (int)person1v.Y / 16; 但是,我想在撞到瓷砖之前检测碰撞,这样它就可以充当墙。如何在移动之前检测到碰撞?

4

2 回答 2

0

如果玩家一次移动3 个像素,则检查:

leftTile = (int)(person1v.x - 3) / 16;

对于右边的瓷砖:

rightTile = (int)(person1v.x + 3 + 16) / 16;
于 2010-04-18T16:29:33.917 回答
0

与其先移动他然后检查碰撞,不如检查角色未来位置的碰撞,如果没有碰撞,则更改角色的位置。

于 2012-08-30T11:36:47.780 回答