我如何创建一个水平居中的“重力线”?

描写

这是我的理想场景:游戏对象(蓝色)可以改变其水平速度,但会被重力(灰色箭头加点)拉向中央垂直线(红色)。

我怎样才能做到这一点?

你有可变的centerlineX。 如果精灵在左边,用“重力”vector加速,例如9.81。 反之亦然。

据推测,这应该导致精灵往复摆动,所以你需要添加一些东西来混合,以一个愉快的速度放慢下来。

正如卡明顿建议的那样,将屏幕宽度减半。 请务必根据设备的屏幕规格使用getter / setter来执行此操作。

至于引力,你会想在你的更新循环中有一个方法检查你的游戏对象的x位置,所以当gameObject.x小于centerLine.x ,你的引力乘以-1 ,翻转它的方向,使gameObject适当地移动。