c# - 碰撞取决于矩形的边?

标签 c# xna collision-detection

我对这个问题的代码不感兴趣,我只想指出正确的方向。

如果有帮助,我会使用 C# XNA。

对于我的游戏,我基本上添加了碰撞,例如玩家不能行走或掉落石头。我有矩形,我知道我使用 .intersects 命令,但我是否需要检查碰撞取决于长方形在这里?

如果 playerRectangle 与 stoneRectangle playerY = stopFalling 相交,我知道玩家是否正在坠落..

但是如果矩形在玩家的一侧发生碰撞……那就不一样了,不是吗?

最佳答案

处理这个问题的一种简单方法是计算出渗透的主轴,即玩家是水平地还是垂直地进一步进入矩形。然后,使用此信息,您可以移动玩家,使他们刚好接触到矩形。

即玩家撞到右边的墙上。

Main axis是Horizo​​ntal的,他在矩形中心的左边,所以我们知道把他向左移动。


正在搜索 gamedev.stackexchange.com将为您提供许多不同的碰撞检测/响应选项。

关于c# - 碰撞取决于矩形的边?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8451452/

相关文章:

c# - 是否可以在不同的网格后面有一个组件,在不同的网格上方有一个组件

c# - 显示日期和时间而不是仅显示日期?

c# - PC XNA 游戏转换为 Xbox 360 - 巨大的性能问题

c# - 使用XNA接入GPGPU进行图像处理

javascript - JavaScript 中的对象识别

c# - Delegate 怎么调用很多方法呢?

c# - 使用语句和 Entity Framework

C# 碰撞编程 - Momentum

javascript - 矩形碰撞

ios - 两个物体之间的碰撞需要帮助