我的播放器和瓷砖(背景)之间的碰撞检测。 XNA

时间:2011-08-25 07:30:24

标签: c# xna

所以,我想检查我的播放器和瓷砖之间的碰撞。瓷砖不是一个大的物体,但瓷砖尺寸为32 * 32像素,其中有11个用作地板,因此玩家可以在它上面行走。 我的问题是,我将如何检测它? 像素碰撞听起来不是很有效。 如果我应该使用矩形冲突,我想解释如何将其实现到我的代码中。

非常感谢。

1 个答案:

答案 0 :(得分:1)

我建议下载并学习由Microsoft开发的Platformer入门套件。

下载:Starter Kit Download

MSDN讨论Starter Kit Discussion

对他们的解决方案最简单的解释是,瓷砖保存在2D数组中以表示世界。当调用播放器的Update()函数时,调用HandleCollisions()函数,该函数循环遍历tile数组的子集以查找可能的冲突。对于与玩家的每次可能的碰撞,与玩家界限和平铺的交叉深度,玩家位置被调整以将其带出平铺。