2

在此处输入图像描述

我已经实现了一个完整的每像素碰撞系统,它考虑了旋转,并且非常准确。它在碰撞时返回一个简单的布尔值。

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

例如上图中,如果玩家在左摇杆上举起,他应该停下来,但如果他在左摇杆上举起+右斜线,他应该几乎自然地沿着红色方块的一侧向东北滑动。

我该如何解决这个问题,以使玩家的动量停止,但仍然控制玩家朝未被碰撞阻挡的方向移动。

我可以用简单的未转换矩形来做这种事情,但是进入每像素纹理碰撞让我今天的大脑爆炸了,所以我希望你们能提供帮助。任何建议将不胜感激。

4

1 回答 1

0

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

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

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

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

于 2013-08-08T09:48:40.193 回答