我正在开发我的游戏 - 适用于iOS的Snake .

我的发展已经过了这个阶段,但我想对它进行一些改进 . 经过多次尝试和错误后,我完全忽略了SpriteKit提供的物理/运动和碰撞检测,并且我继续使用自己的实现 . 也许在你的帮助下,我可能会重构这部分游戏 .

我的蛇可以转向所有可能的方向(360度) . 没有引力 . 如果您希望将代码偏移到现有SpriteKit实现的代码,您将如何设置您的物理体?

我认为有两个重要的部分 .

第一关节 . 蛇是由多个物理构成的 . 所有的身体都只是相互追随 - 经过头部前一段时间的所有点 . 我认为最好的关节是Pin关节?我在相邻的物体之间使用了具有锚点的Pin关节 . 但这种设置导致蛇体的其余部分改变了头部的物理特性 . 它应该不是那样的 . 我尝试将重量改为零,将线性和角度倾斜调到最大 . 结果永远不可接受 .

第二 - 控制运动 . 蛇的运动是不变的 . 用户通过按下左右按钮开始向右或向左轻轻移动蛇 . 你认为我应该在更新方法中每次将蛇的速度重置为我的恒定值吗?或者我应该使用力量冲动和扭矩?转动只发生在用户持续按下屏幕时 - 需要几秒钟才能扭转蛇(如“掉头”) - 旋转它怎么样?

任何建议表示赞赏 . 最好的祝福 .