每像素碰撞后控制玩家移动

时间:2013-04-18 17:02:18

标签: c# xna collision-detection xna-4.0

enter image description here

我已经实现了一个完整的每像素碰撞系统,它可以解释旋转,并且非常准确。它会在碰撞时返回一个简单的bool。

但是我不确定如何从玩家运动的角度来处理碰撞。

E.g。在上面的图片中,如果玩家在左手杆上举起,他应该停下来,但是如果他在左手杆上举起+右对角线,他应该几乎自然地向东北方向滑动。 / p>

如何解决这个问题,让玩家的动力停止,但仍然可以控制玩家在没有碰撞阻挡的方向上移动。

我可以使用简单的未转换矩形来做这种事情,但是进入每像素纹理碰撞使我的大脑今天爆炸,所以我希望你们能帮忙。任何建议都会受到大力赞赏。

1 个答案:

答案 0 :(得分:0)

有可能。为此,如果您愿意在游戏中产生自然效果,则需要使用基于像素的碰撞实现物理引擎。

为此您要么编写自己的游戏引擎,要么使用已经存在的引擎。对于2D游戏,我强烈推荐Farseer Physics Engine。它在那里很长一段时间。现在情况稳定,一定很精彩。

它是从头开始使用XNA开发的,而且性能方面也很好。

看看这个。我希望我能给你答案。如果需要更多详细信息,请与我们联系。