移动的四个方向
public enum Direction
{
    up,
    down,
    left,
    right
}
关于这个…恩…原理就是只需要控制蛇头的方向
蛇头forward的方向发射一条射线检测是否离开了地面
if(离开)
    则翻转方向
else(接触)
    继续前进
然后蛇AddList里面
Snake[0] = 玩家控制(蛇头)的方向
接着我们new一个OldPosList用来记录前一位移动前的位置
比如A当前是5.5.5 OldPosList记录下A的5.5.5
A移动到了5.6.5的位置后
B接着移动到5.5.5…
C…
D…
Snake[i] = OldPosList[i-1]
【蛇头的控制】
                        switch (_snakeDirection)
                        {
                            case Direction.up:
                                _snakList[i].transform.Translate(Vector3.up * 1);
                                break;
                            case Direction.down:
                                _snakList[i].transform.Translate(Vector3.down * 1);
                                break;
                            case Direction.left:
                                _snakList[i].transform.Translate(Vector3.left * 1);
                                break;
                            case Direction.right:
                                _snakList[i].transform.Translate(Vector3.right * 1);
                                break;
                            default:
                                break;
                        }
【蛇头的旋转】
当蛇头的射线检测到脚下没有地面的时候
我们回调一下
并且翻转蛇头,而蛇的身子则不需要翻转,直接new Pos
                switch (_snakeDirection)
                {
                    case Direction.up:
                        _snakList[i].transform.Rotate(new Vector3(90, 0, 0));
                        break;
                    case Direction.down:
                        _snakList[i].transform.Rotate(new Vector3(-90, 0, 0));
                        break;
                    case Direction.left:
                        _snakList[i].transform.Rotate(new Vector3(0, 90, 0));
                        break;
                    case Direction.right:
                        _snakList[i].transform.Rotate(new Vector3(0, -90, 0));
                        break;
                    default:
                        break;
                }
PS:
1、关于地面的生成可以使用三个for循环来完成
增加几个条件去掉地面内部的cube优化
2、搭建合适的地面
因为游戏本身是靠蛇头的射线控制,
搭建不规则的cube地面也可以很好的运行游戏。
这里我使用的cube是 1.1.1
3、恩,总结…毫无意义。