Движущаяся головка объекта по щелчку в единстве - PullRequest
0 голосов
/ 07 марта 2012

Я новичок в 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;
}
}

Ошибка:

Активы / Сценарии / SnakeMotion.cs (92,8): ошибка CS0246: Тип илиnamespace name `body 'не может быть найдено.Вам не хватает директивы using или ссылки на сборку?

Должен ли я также написать основной текст?N что должно быть включено в этот скрипт?Или я могу запустить без создания отдельного сценария тела?Извините за мой английский.

1 Ответ

0 голосов
/ 12 марта 2012

Проблема в этой строке

public body first_body;

Вы объявляете переменную, тип которой body , но body не является встроенным типом переменной, таким как float или bool.

И в вашем сценарии я не знаю, что вы на самом деле хотите сделать с переменной first_body , это тело змеи? Вы можете объяснить больше о "first_body"?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...