【发布时间】:2012-03-07 06:34:59
【问题描述】:
我是 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 该脚本中应包含什么?或者我可以在不制作单独的正文脚本的情况下运行吗?对不起我的英语。
【问题讨论】: