【发布时间】:2011-11-16 09:43:39
【问题描述】:
我一直在寻找示例和教程,但找不到任何具体内容。
我正在制作一个 2D XNA C# 游戏,我想检测玩家到达一条或多条路径线时的最终位置,这样它就不会越过它们。
播放器由一个碰撞矩形组成,路径线都是线段。所以基本上我有玩家的碰撞矩形和下一个玩家的位置碰撞矩形。如果下一个玩家的位置与路径线碰撞,我想找到玩家可以承受的最大位移。
图片或多或少显示了我想做的事情:
我想找到红色矩形的位置。
有没有人有任何算法、解决方案或任何链接可以帮助我?甚至可以是一个样本。
【问题讨论】:
-
您使用矩形而不是圆形有什么具体原因吗?
-
@piotr Auguscik 可能是精度问题。
-
只是问,用圆圈这样的任务更容易:)
-
我需要使用矩形,因为我的玩家是一个角色,一个人。使用圆圈根本没有意义。
-
你可以给他堆雪人!我不敢相信 XNA 没有为 2D 精灵提供本机碰撞检测,这令人震惊。也许这可能有一个例子? create.msdn.com/en-US/education/catalog/tutorial/…