Суббота, 23 Ноября 2024, 02:37

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Вывод значения переменной на сцену
DroppДата: Вторник, 17 Апреля 2012, 18:49 | Сообщение # 1
был не раз
Сейчас нет на сайте
Что же,подобный вопрос я задал в конце этой темы, вопрос достаточно нубский, но просто я, как и многие другие, немного не понимают логику C# и юнити-скриптингка в целом.Вопрос заключается в следующем: Как вывести в В Бокс или поле(родное или импортированное) значение переменной?Для начала скажите как вывести значение в родное поле,а там посмотрим.Заранее спасибо.


Сообщение отредактировал Dropp - Вторник, 17 Апреля 2012, 18:49
SnakeRДата: Вторник, 17 Апреля 2012, 18:58 | Сообщение # 2
постоянный участник
Сейчас нет на сайте
Dropp, читаешь от начала до конца) GUI Scripting Guide

Unity3D Developer
Ваш лучший помощник при разработке в Unity3D
DroppДата: Вторник, 17 Апреля 2012, 22:09 | Сообщение # 3
был не раз
Сейчас нет на сайте
Читал, с англ. не очень,если не сложно напишите хотя бы отрывок из скрипта.

Добавлено (17.04.2012, 21:43)
---------------------------------------------
выводятся только строки и юнити мне выдает ошибку мол only string.А мне значение переменной нужно.

Добавлено (17.04.2012, 22:09)
---------------------------------------------
Вот код

Code
using UnityEngine;    

using System.Collections;    

public class MyLevel : MonoBehaviour {    

       private int _ourLevel=1;//текущий левел игрока    

       private int _maxLevel=3;//максимальный левел игрока    

       public int levelup=100;//кол/во экспы для получения нового уровня    

        

       public int ourExp;//текущее кол/во экспы    

       

       

       

       

       

       // Use this for initialization    

       void Start () {    

        //прокачка    

        if(ourExp<levelup)_ourLevel=1;    

        else if(ourExp>100)_ourLevel=2;

        else _ourLevel=3;    

              

           

    void OnGUI () {

     selectionGridInt = GUI.Box (new Rect (25, 25, 300, 60), _ourLevel);

    }

         

              

             

       }    

             

       // Update is called once per frame    

       void Update () {    

       if (ourExp<0) ourExp=0;

        

       }    

}


Выдает аж 4 ошибки.Кому не сложно,помогите.


Сообщение отредактировал Dropp - Вторник, 17 Апреля 2012, 22:11
ЛевшаДата: Вторник, 17 Апреля 2012, 22:26 | Сообщение # 4
почти ветеран
Сейчас нет на сайте
Code
selectionGridInt = GUI.Box (new Rect (25, 25, 300, 60), _ourLevel.ToString("f0"));


X.cor.R (Prologue)
SnakeRДата: Вторник, 17 Апреля 2012, 22:35 | Сообщение # 5
постоянный участник
Сейчас нет на сайте
Dropp,
1. Зачем вызываешь OnGUI в Start ?? Он отдельно вызывается. Следи за скобками.
2. selectionGridInt что это ??? Зачем GUI.Box назначаешь на переменную??
3.float, int и иже с ними в гуи выводятся вот так

void OnGUI ()
{

GUI.Box (new Rect (25, 25, 300, 60), "Our Level " + _ourLevel);

}

Синим выделены слова, пишутся в кавычках, пишешь что угодно.
Зеленым выделена твоя переменная, как видишь ставится просто плюс и она будет показываться.
И еще для уровней и экспы юзай uint это целочисленный тип который может быть только положительным.


Unity3D Developer
Ваш лучший помощник при разработке в Unity3D


Сообщение отредактировал SnakeR - Вторник, 17 Апреля 2012, 22:36
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг