打个笔记吧,为了更好的理解贪吃蛇身子移动的问题,感觉自己总结一下代码比较好,看着别人的demo写的代码光看不总结感觉有点蒙
1、下面是HeadControl.cs中的代码
//根据按得按钮判断要移动的方向
public void Turn(){
if (Input.GetKey (KeyCode.W)) {
nextDirection=HeadDirection.Up;//记录想要走的方向
if(currentDirection==HeadDirection.Down){//如果方向与先前的方向相反,则不执行方向的改变
nextDirection=currentDirection;
}
}
if (Input.GetKey (KeyCode.S)) {
nextDirection=HeadDirection.Down;
if(currentDirection==HeadDirection.Up){
nextDirection=currentDirection;
}
}
if (Input.GetKey (KeyCode.A)) {
nextDirection=HeadDirection.Left;
if(currentDirection==HeadDirection.Right){
nextDirection=currentDirection;
}
}
if (Input.GetKey (KeyCode.D)) {
nextDirection=HeadDirection.Right;
if(currentDirection==HeadDirection.Left){
nextDirection=currentDirection;
}
}
}
public void Move(){
timer += Time.deltaTime;
if(timer>=0.4f/speed){//经过多长时间移动
//蛇头旋转
switch (nextDirection) {
case HeadDirection.Up:
transform.forward=Vector3.forward;
curre