cant add script
| |
dreenline | Дата: Суббота, 20 Сентября 2014, 09:48 | Сообщение # 1 |
постоянный участник
Сейчас нет на сайте
| Привет, ребята! Нужна ваша помощь! Проходил урок . В общем, юнити никак не хочет съедать скрипт, который представлен в этом уроке(или ниже). В чем может быть проблема? Ошибка: cant add component because it doesnt exist. А вот сам скрипт:
using UnityEngine; using System.Collections;
public class characterController : MonoBehaviour { public float maxSpeed = 10f; public float jumpForce = 700f; bool facingRight = true; bool grounded = false; public Transform groundCheck; public float groundRadius = 0.2f; public LayerMask whatIsGround;
public float move;
// Use this for initialization void Start () {
}
// Update is called once per frame void FixedUpdate () {
grounded = Physics2D.OverlapCircle (groundCheck.position, groundRadius, whatIsGround);
move = Input.GetAxis ("Horizontal");
}
void Update(){ if (grounded && (Input.GetKeyDown (KeyCode.W)||Input.GetKeyDown (KeyCode.UpArrow))) {
rigidbody2D.AddForce (new Vector2(0f,jumpForce)); } rigidbody2D.velocity = new Vector2 (move * maxSpeed, rigidbody2D.velocity.y);
if (move > 0 && !facingRight) Flip (); else if (move < 0 && facingRight) Flip ();
if (Input.GetKey(KeyCode.Escape)) { Application.Quit(); }
if (Input.GetKey(KeyCode.R)) { Application.LoadLevel(Application.loadedLevel); }
}
void Flip(){ facingRight = !facingRight; Vector3 theScale = transform.localScale; theScale.x *= -1; transform.localScale = theScale; } }
Сообщение отредактировал dreenline - Суббота, 20 Сентября 2014, 10:00 |
|
| |
Jlovenpk1 | Дата: Суббота, 20 Сентября 2014, 10:51 | Сообщение # 2 |
участник
Сейчас нет на сайте
| Group Chek - Добавил?
DjanStudio
|
|
| |
dreenline | Дата: Суббота, 20 Сентября 2014, 17:37 | Сообщение # 3 |
постоянный участник
Сейчас нет на сайте
| Нет по моему, все делал по уроку. А как его поставить?
|
|
| |
JHawk | Дата: Суббота, 20 Сентября 2014, 18:05 | Сообщение # 4 |
めゃくちゃちゃ
Сейчас нет на сайте
| dreenline, удалить юнити и идти делать уроки.
|
|
| |
Lertmind | Дата: Суббота, 20 Сентября 2014, 19:25 | Сообщение # 5 |
заслуженный участник
Сейчас нет на сайте
| Ты должен файл назвать так: имя.cs, где имя это название класса (public class characterController : MonoBehaviour {). В данном случае ты скачал с именем "charactercontroller.cs.cs", переименуй в "characterController.cs".Добавлено (20.09.2014, 19:25) --------------------------------------------- Я этот урок тоже читал, автор не предполагал, что человек может не знать, как нужно называть скрипты.
|
|
| |
dreenline | Дата: Воскресенье, 21 Сентября 2014, 14:52 | Сообщение # 6 |
постоянный участник
Сейчас нет на сайте
| Цитата Lertmind ( ) Ты должен файл назвать так: имя.cs, где имя это название класса (public class characterController : MonoBehaviour {). В данном случае ты скачал с именем "charactercontroller.cs.cs", переименуй в "characterController.cs". Добавлено (20.09.2014, 19:25) --------------------------------------------- Я этот урок тоже читал, автор не предполагал, что человек может не знать, как нужно называть скрипты. Я переименовывал и называл по другому,все равно та же ошибка.Добавлено (21.09.2014, 14:52) --------------------------------------------- Переименовал, пишет то же самое
|
|
| |
romeo98 | Дата: Воскресенье, 21 Сентября 2014, 18:01 | Сообщение # 7 |
участник
Сейчас нет на сайте
| название скрипта должно ПОЛНОСТЬЮ соответствовать названию класса (только без .cs). Регистр в том числе! У тебя название скрипта "charactercontroller.cs", а название класса "characterСontroller". Вот и конфликт. Переименуй еще раз, только в "characterController.cs". Вообще, по "моральным правилам программистов", классы и скрипты называют с большой буквы. Это не обязательно, но так в основном делают. Тоесть, "CharacterController.cs", но если так переименуешь, то не забудь и класс переименовать в "CharacterController".
Flist - social platform PuzzleSystem - Open-source Unity Asset [2D] Mission: Defender
Сообщение отредактировал romeo98 - Воскресенье, 21 Сентября 2014, 18:03 |
|
| |
MANMANA | Дата: Воскресенье, 21 Сентября 2014, 19:55 | Сообщение # 8 |
почти ветеран
Сейчас нет на сайте
| если не помогли здравые подсказки выше, то удали скрипт, пересоздай его заново в соответствии с советами выше. Второй вариант - если есть ошибки в этом или ЛЮБОМ другом скрипте, то вылезет такая же ошибка. Исправь ВСЕ ошибки (предупреждения не в счет) и все получится.
http://www.3dbuffer.com/ Текстуры, Unity3D, Blender: Эффекты, скрипты, моделирование, текстурирование, скульптинг VKонтакте 3Dbuffer
Последнее:
Новый раздел "Текстуры"
Как запатентовать, защитить техническое решение, игру, идею
|
|
| |
Lertmind | Дата: Воскресенье, 21 Сентября 2014, 21:09 | Сообщение # 9 |
заслуженный участник
Сейчас нет на сайте
| romeo98, там специально не названо "CharacterController", чтобы не было конфликта со стандартным классом в Unity. Автор статьи не придумал ничего лучше, мда.
Сообщение отредактировал Lertmind - Воскресенье, 21 Сентября 2014, 21:11 |
|
| |
dreenline | Дата: Воскресенье, 21 Сентября 2014, 22:36 | Сообщение # 10 |
постоянный участник
Сейчас нет на сайте
| Цитата romeo98 ( ) название скрипта должно ПОЛНОСТЬЮ соответствовать названию класса (только без .cs). Регистр в том числе! У тебя название скрипта "charactercontroller.cs", а название класса "characterСontroller". Вот и конфликт. Переименуй еще раз, только в "characterController.cs". Вообще, по "моральным правилам программистов", классы и скрипты называют с большой буквы. Это не обязательно, но так в основном делают. Тоесть, "CharacterController.cs", но если так переименуешь, то не забудь и класс переименовать в "CharacterController". Спасибо большое, все получилось!Добавлено (21.09.2014, 22:36) --------------------------------------------- Только почему то он не работает, ну да ладно, буду потом разбираться
|
|
| |
|