我对这个问题的代码不感兴趣,我只想指出正确的方向。
如果有帮助,我会使用 C# XNA。
对于我的游戏,我基本上添加了碰撞,例如玩家不能行走或掉落石头。我有矩形,我知道我使用 .intersects 命令,但我是否需要检查碰撞取决于长方形在这里?
如果 playerRectangle 与 stoneRectangle playerY = stopFalling 相交,我知道玩家是否正在坠落..
但是如果矩形在玩家的一侧发生碰撞……那就不一样了,不是吗?
最佳答案
处理这个问题的一种简单方法是计算出渗透的主轴,即玩家是水平地还是垂直地进一步进入矩形。然后,使用此信息,您可以移动玩家,使他们刚好接触到矩形。
即玩家撞到右边的墙上。
Main axis是Horizontal的,他在矩形中心的左边,所以我们知道把他向左移动。
正在搜索 gamedev.stackexchange.com将为您提供许多不同的碰撞检测/响应选项。
关于c# - 碰撞取决于矩形的边?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8451452/