Top.Mail.Ru
Ответы
Аватар пользователя
10лет
Изменено
Аватар пользователя
Аватар пользователя
Аватар пользователя
Программирование
+4

Unity 5.0 и скрипты на C#

Начал работать с unity, скачать unity 5.0 personal. Создал сцену, добавил объект и пытаюсь добавить к нему скрипт на движение объекта.
Код скрипта
__________________
using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour
{

void FixedUpdate()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");

Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
Rigidbody.velocity = movement;
}
}
__________________

И unity ругается на этот скрипт, пишит
"Non MonoBehavior scripts in a file, or their names do not match the file name."

Писал скрипт по туториалу на сайте unity. У них на версии 4.Х все работало.
Что делать? Что исправлять?

Дополнен

Более конкретное описание ошибки
...\Assets\Scripts\PlayerController.cs(9,9): Error CS0120: Для нестатического поля, метода или свойства "UnityEngine.Rigidbody.velocity.get" требуется ссылка на объект (CS0120) (Assembly-CSharp)

По дате
По рейтингу
Аватар пользователя
Гуру
10лет

Rigidbody.velocity -> GetComponent() < Rigidbody> .velocity

Аватар пользователя
Ученик
8лет

using UnityEngine;
using System.Collections;

public class PlayerController : MonoBehaviour
{
private Rigidbody rb;

void Start() {
rb = GetComponent УГЛОВАЯ КАВЫЧКА Rigidbody УГЛОВАЯ КАВЫЧКА ();
}
void FixedUpdate()
{
float moveHorizontal = Input.GetAxis("Horizontal");
float moveVertical = Input.GetAxis("Vertical");

Vector3 movement = new Vector3(moveHorizontal, 0.0f, moveVertical);
rb.velocity = movement;
}
}

Аватар пользователя
Ученик
7лет

просто сделай одинаковое имя скрипта и, такое же имя файла например скрипт называется Script1, тогда public class : MonoBehaviour