我正在制作一款与超级马里奥银河相似概念的游戏,但它是二维游戏。如果您不熟悉SMG中的重力,可以观看this quick video.
我的游戏世界由一系列数据组成。 0相当于'无'或'空间',1 +是不同类型的地形。我已经能够计算出重心,以及物体上的重力强度,这取决于它与行星的距离等...
我的问题在于碰撞检测。
我成功地以动量形式(xspeed
/ yspeed
)将重力应用于圆圈,但我不确定如何确定圆圈是否与“立方体”发生碰撞以及如何防止圆圈与任何立方体重叠。
世界上的每个单元格都有一定的宽度(像10
像素;它在静态变量中)。玩家(圆圈)将有一个精灵,但它将被视为一个圆圈用于碰撞等,所以不需要任何高级(如扭矩)。显然,圆圈需要垂直于重力移动(并滑过行星)。
所以基本上我要求的是伪代码,或者只是一个概念。我真的不认为整个物理库是完全必要的,这似乎应该是一个相当简单的技术。
编辑:此外,它不仅仅是在表面上站立/行走。会有太高的障碍无法走过去。例如,在这张图片中,玩家可能会被困: