Вывести в GUI значение переменной

Программирование на Юнити.

Вывести в GUI значение переменной

Сообщение Armageddance 28 апр 2010, 15:58

Подскажите, как можно отобразить на экране текущее значение переменной, в частности, скорость движения персонажа. Я так понимаю, через GUI?

var private velocity : float = 0;
var velocity = gameObject.speed * 0.25;
function OnGUI () {

GUI.Label (Rect (150,10,200,20), "Speed: velocity");
}
Нечто такое должно получиться в итоге?
Armageddance
UNец
 
Сообщения: 31
Зарегистрирован: 23 апр 2010, 07:54

Re: Вывести в GUI значение переменной

Сообщение MetosFate 28 апр 2010, 16:28

Текст скрипта на c#. Перед его применением необходимо добавить к объекту, на который вы этот скрипт повесите, rigidbody (модель физического твёрдого тела) Component->Physics->Rigidbody при выделенном gameObject в инспекторе (Inspector). Можно и иначе, без ригидбоди, это только вариант.
Синтаксис:
Используется csharp
//.....
private float velocity = 0.0f;
//.....
void Update()
{
//...........
   velocity=gameObject.rigidbody.velocity.magnitude;
//.............
}
//............
void OnGUI () {
//..........
 GUI.Label (new Rect (150,10,200,20), "Speed: "+velocity.ToString());
//..............
}

 
Добавить masterofself в Skype
Стена это таже ступенька, просто надо вырасти, чтобы это увидеть...
Аватара пользователя
MetosFate
UNIт
 
Сообщения: 76
Зарегистрирован: 05 янв 2010, 21:14
Откуда: Нижний Новгород

Re: Вывести в GUI значение переменной

Сообщение Armageddance 28 апр 2010, 16:48

Спасибо большое за ответ. И еще такой вопросик. У меня с пару десятков противников. И мне хотелось бы выводить их текущее количество на экран. Какой самый простой способ их посчитать? Привязать к каждому из них tagname и потом суммировать в скрипте с помощью функции Update?
Armageddance
UNец
 
Сообщения: 31
Зарегистрирован: 23 апр 2010, 07:54

Re: Вывести в GUI значение переменной

Сообщение Armageddance 28 апр 2010, 16:57

Данный код не работает.
Проблема в том, что я не знаю как именно обратиться к character, gameObject не работает...
Armageddance
UNец
 
Сообщения: 31
Зарегистрирован: 23 апр 2010, 07:54

Re: Вывести в GUI значение переменной

Сообщение MetosFate 28 апр 2010, 20:42

Не за что) Количество противников разумно считать, исходя из того, каким способом они появляются. если вы их просто создаёте руками в редакторе это одно(можно в уме:)), если префабами - другое(ввести глобальную переменную и при каждом инстансировании (Instantiate)прибавлять к ней 1, уничтожении убавлять). Код, написанный выше, сам по себе работать не будет, его нужно грамотно расположить в классе. Для этого и многоточие.
А так, вам совет - пройдите пару видео-уроков и туториалы официальные. Изучите скриптовый язык, рекомендую C#.
Культурная программа:
http://simple-cs.ru/store/csharp/1/ - C#
http://forum.unity3d.com/viewtopic.php?t=28433 - от начала до конца видео создания игры по типу 2D космической стрелялки.
http://unity3d.com/support/resources/tu ... r-tutorial - как создать 3D гоночки.
http://www.unifycommunity.com/wiki/inde ... =Tutorials - wiki по [unity 3D]
если не знаете английского, поищите на этом форуме и http://blogs.unity3d.ru/category/unity3 ... nity3d-ru/
Дерзайте ;)
Добавить masterofself в Skype
Стена это таже ступенька, просто надо вырасти, чтобы это увидеть...
Аватара пользователя
MetosFate
UNIт
 
Сообщения: 76
Зарегистрирован: 05 янв 2010, 21:14
Откуда: Нижний Новгород


Вернуться в Скрипты

Кто сейчас на конференции

Сейчас этот форум просматривают: Yandex [Bot] и гости: 9