Общие вопросы по игростроению.
|
|
Сообщений: 3813
|
Опубликовано: 19.05.2013, 12:27:43
Vorobey, этот скрипт подрублен к чему-нибудь или сам по себе? если подрублен - скинь скрин из редактора окна с компонентами
Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005) Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
mod.worms.pro - мод Worms Renewation для Worms4
|
|
|
|
Сообщений: 1740
|
Опубликовано: 19.05.2013, 18:33:19
firsacho, нет. Каким был, таким и остался.
|
|
|
|
Сообщений: 3813
|
Опубликовано: 19.05.2013, 18:45:33
Vorobey, тогда повесь его на какой-нибудь объект
Есть некая проблема, что я код пишу на C#, а ты на JS) мне несколько непривычно читать и могу явную ошибку не заметить)
Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005) Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
mod.worms.pro - мод Worms Renewation для Worms4
|
|
|
|
Сообщений: 1740
|
Опубликовано: 19.05.2013, 19:09:43
Так этот скрипт на С#) Ты видео глянь. Там в описании ссылка на скачивание скрипта и звуков из урока.
|
|
|
|
Сообщений: 3813
|
Опубликовано: 19.05.2013, 20:13:00
Vorobey, ну во-первых повесь этот скрипт куда-нибудь.. судя по всему проблема в том, что он не может найти компонент character controller
Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005) Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
mod.worms.pro - мод Worms Renewation для Worms4
|
|
|
|
Сообщений: 1740
|
Опубликовано: 19.05.2013, 20:27:16
firsacho, вот специально сцену создал, чтобы игру не калечить.
|
|
|
|
Сообщений: 3813
|
Опубликовано: 19.05.2013, 21:01:48
Цитата (Vorobey) Так этот скрипт на С#) там фунции объявляются как function - это javascript.
я бы попробовал объявить вместо var controller : CharacterController = GetComponent(CharacterController);
Код public Transform controller; и перетянуть контроллер вручную. Но это на C#. Как это на JS написать - не знаю точно, сам поищи)
Смысл жизни в том, чтобы жизнь имела смысл... (firsacho 2005) Рай придуман, чтобы не страшно было умирать. Ад придуман, чтобы не страшно было жить. (firsacho 2007) Мир делиться на два типа людей: Бездарные трудоголики и Талантливые лентяи. (firsacho 2008)
mod.worms.pro - мод Worms Renewation для Worms4
|
|
|
|
Сообщений: 1740
|
Опубликовано: 19.05.2013, 21:08:05
Тьфу, во я тупанул.
|
|
|
|
Сообщений: 1740
|
Опубликовано: 20.05.2013, 09:30:17
Вот и сдвинулся с места. Код var controller : CharacterController; controller = gameObject.GetComponent(CharacterController); var FootSteps : AudioClip []; // Таблица звуков. private var StepTime : float = 0; // Время шага. var audioSource : AudioSource; private var stepping : boolean = false; // Шагаем? По умолчанию нет.
function Update () { if(controller.isGrounded){ // если персонаж на земле тогда... if(!stepping){ // если персонаж не шагает тогда...
if (Input.GetButton("Vertical") || Input.GetButton("Horizontal")){ // нажата ли клавиши ходьбы. StepTime = 0.5; // назначаем время одного шага. footfall();
}
} } }
function footfall(){ stepping = true; audioSource.PlayOneShot (FootSteps[Random.Range(0,FootSteps.length)]); yield WaitForSeconds (StepTime); stepping = false; } Но. Теперь такая ошибка: Код NullReferenceException: Object reference not set to an instance of an object steps.Update () (at Assets/steps.js:17) А вот самое интересное. WTF? Ищу в инете. Но пока не нашёл ответ.
|
|
|
|
Сообщений: 1740
|
Опубликовано: 20.05.2013, 11:13:19
Всё, решил проблему. Герой шагает!)
|
|
|
|
Сообщений: 1740
|
Опубликовано: 05.06.2013, 14:05:52
Код using UnityEngine; using System.Collections;
public class SvetFonarika : MonoBehaviour { public GameObject Svet; void Update() { if (Input.GetKeyDown("f")) renderer.enabled = true; if (renderer.isVisible) if (Input.GetKeyDown("f")) renderer.enabled = false; } } Вот написал скрипт. Вот действие: Код void Update() { if (Input.GetKeyDown("f")) renderer.enabled = true; if (renderer.isVisible) if (Input.GetKeyDown("f")) renderer.enabled = false; } Как сделать выполнение этого действия спустя 1 секунду (к примеру)? Знаю, что это поможет: yield return new WaitForSeconds(1.0F); Но не знаю, как правильно всё это прописать, ибо выдаёт ошибку. ХЕЛП
|
|
|
|