我正在一个2D游戏中进行工作,其中地形可以变化,并且由任何形状的多边形构成,除了自相交之外。玩家碰撞盒呈正方形,可以移动。我的问题是:我如何让一个始终直立的盒子与变化的地形碰撞并始终保持在外面?二维静态框与可变地形的碰撞
我认为我做了虽然没有代码目前的做法尚未就像如下:
蓝色方块是玩家命中。首先,以速度向下移动为例。我的目标是找到可以安全在地形多边形之外的行程中的最高点。我测试其行程路径内的所有地形顶点,并将它们投影到框的速度。我采取最远的投影。
最远的投影将是允许移入而不进入地形的最大距离。
在速度方向上按距离移动平方并完成。
但是,在遇到这种情况时,我遇到了几个不适用的情况。以此为例子:
为了解决这个问题,我现在测试的广场一角。如果距离角落的距离比最远的投影距离短,那么该距离会给出适当的距离变化。这几乎使算法充分证明。除非有人指出另一个例外。
我会有点疯狂,我会很感激我的算法反馈。如果任何人有任何建议或有关地形或类似的任何类似的2D立柱箱体碰撞的好消息,那就太棒了。
甚至没有upvote?我相信,stackoverflow只能回答简单的问题。 – sgtHale