移动物体头部单击一致

时间:2012-03-07 06:34:59

标签: c# unity3d

我是Unity 3d的新手。我已经开始练习蛇游戏了。我必须首先向前移动蛇头。如果我按任意键,那么蛇应该开始向前移动。对于它的头部我只采取了一个立方体。 这是代码。请告诉我我在哪里做错了。

public class SnakeMove: MonoBehaviour {

public bool Move_Up;
public bool Move_Below  ;
public bool Move_Right;
public bool Move_Left;

public body first_body;

public float time_movement = .5F;
public float following_movement;


// Use this for initialization
void Start () {
    Move_Up = false;
    Move_Below = false;
    Move_Right = false;
    Move_Left= false;
    following_movement = Time.time + time_movement;
}
// Update is called once per frame
void Update () {
    if (Input.GetKeyDown(KeyCode.UpArrow))
    {
        Move_Up = true;
        Move_Below = false;
        Move_Right = false;
        Move_Left = false;
    }
    if (Input.GetKeyDown(KeyCode.DownArrow))
    {
        Move_Up = false;
        Move_Below = true;
        Move_Right = false;
        Move_Left = false;
    }
    if (Input.GetKeyDown(KeyCode.RightArrow))
    {
        Move_Up = false;
        Move_Below = false;
        Move_Right = true;
        Move_Left = false;
    }
    if (Input.GetKeyDown(KeyCode.LeftArrow))
    {
        Move_Up = false;
        Move_Below = false;
        Move_Right = false;
        Move_Left = true;
    }

    if (Time.time > following_movement)
    {
        MoveHead();
    }

}

void MoveHead()
{
    if (Move_Up)
    {
        first_body.move(this.transform);
        this.transform.position += transform.forward *transform.localScale.z;
    }
    if (Move_Below)
    {
        first_body.move(this.transform);
        this.transform.position += -transform.forward * transform.localScale.z;
    }
    if (Move_Right)
    {
        first_body.move(this.transform);
        this.transform.position += transform.right * transform.localScale.z;
    }
    if (Move_Left)
    {
        first_body.move(this.transform);
        this.transform.position += -transform.right * transform.localScale.z;
    }
    following_movement = Time.time + time_movement;
}
}

错误是:

  

Assets / Scripts / SnakeMotion.cs(92,8):错误CS0246:类型或   命名空间名称`body'找不到。你错过了使用吗?   指令或汇编参考?

我应该制作一个正文脚本吗? N该脚本应包含哪些内容?或者我可以运行而不制作单独的Body脚本吗?抱歉我的英文。

1 个答案:

答案 0 :(得分:0)

问题在于这一行

public body first_body;

您声明了一个类型为 body 的变量,但是body不是内置变量类型,例如float或bool。

在你的剧本中,我不知道你真的想用变量 first_body 做什么,它是蛇体吗?你能解释一下“first_body”吗?