我正在开发我的游戏 - 适用于iOS的Snake。
我的发展已经过了这个阶段,但我想对它进行一些改进。经过多次尝试和错误后,我完全忽略了SpriteKit提供的物理/运动和碰撞检测,并且我继续使用自己的实现。也许在你的帮助下,我可能会重构游戏的这些部分。
我的蛇可以转向所有可能的方向(360度)。没有引力。如果您希望将代码偏移到现有SpriteKit实现的代码,您将如何设置您的物理体?
我认为有两个重要的部分。
首先 - 关节。蛇是由多个物理构成的。所有的身体都只是相互追随 - 经过头部前一段时间的所有点。我认为最好的关节是Pin关节?我在相邻的物体之间使用了具有锚点的Pin关节。但这种设置导致蛇体的其余部分改变了头部的物理特性。它应该不是那样的。我尝试将重量改为零,将线性和角度倾斜调到最大。结果永远不可接受。
第二 - 控制运动。蛇的运动是不变的。用户通过按下左右按钮开始向右或向左轻轻移动蛇。你认为我应该在更新方法中每次将蛇的速度重置为我的恒定值吗?或者我应该使用力量冲动和扭矩?转动只发生在用户持续按下屏幕时 - 需要几秒钟才能扭转蛇(如“掉头”) - 旋转它怎么样?
任何建议表示赞赏。最好的问候。