我正在处理瓷砖碰撞。目前,我只是以正常方式绘制瓷砖贴图(两个用于循环)并且没有滚动。现在,要检查我的播放器是否在磁贴上,我使用tileX = (int)person1v.X / 16;
tileY = (int)person1v.Y / 16;
但是,我想在之前检测到碰撞,因为它可以作为一个墙。如何在移动之前检测碰撞?
答案 0 :(得分:0)
如果玩家一次移动 3 像素,请检查:
leftTile = (int)(person1v.x - 3) / 16;
对于右边的瓷砖:
rightTile = (int)(person1v.x + 3 + 16) / 16;
答案 1 :(得分:0)
好而不是先移动他并在之后检查碰撞,检查角色未来位置的碰撞,如果没有碰撞,则改变角色的位置。