Среда, 24 Апреля 2024, 03:16

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Записи участника » Dropp [8]
Результаты поиска
DroppДата: Вторник, 17 Апреля 2012, 22:13 | Сообщение # 1 | Тема: Вопрос-[ответ] по Unity
был не раз
Сейчас нет на сайте
Со старым вопросом ясно.А как с помощью GUI вывести значение переменной на экран?
DroppДата: Вторник, 17 Апреля 2012, 22:09 | Сообщение # 2 | Тема: Вывод значения переменной на сцену
был не раз
Сейчас нет на сайте
Читал, с англ. не очень,если не сложно напишите хотя бы отрывок из скрипта.

Добавлено (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
DroppДата: Вторник, 17 Апреля 2012, 18:49 | Сообщение # 3 | Тема: Вывод значения переменной на сцену
был не раз
Сейчас нет на сайте
Что же,подобный вопрос я задал в конце этой темы, вопрос достаточно нубский, но просто я, как и многие другие, немного не понимают логику C# и юнити-скриптингка в целом.Вопрос заключается в следующем: Как вывести в В Бокс или поле(родное или импортированное) значение переменной?Для начала скажите как вывести значение в родное поле,а там посмотрим.Заранее спасибо.


Сообщение отредактировал Dropp - Вторник, 17 Апреля 2012, 18:49
DroppДата: Вторник, 17 Апреля 2012, 18:27 | Сообщение # 4 | Тема: lvl система в rpg
был не раз
Сейчас нет на сайте
Кстати, с выводом левла у самого проблема.Пробовал через GUI.Box, выдает ошибку,а в консоль мне не нужно выводить.Посоветуйте самое лучшее решение,пожалуйста.
DroppДата: Вторник, 17 Апреля 2012, 15:14 | Сообщение # 5 | Тема: lvl система в rpg
был не раз
Сейчас нет на сайте
Самый простой способ-Если Кол/во експы>=нужному колву для левла текущий левел="новый левел"
DroppДата: Вторник, 17 Апреля 2012, 13:02 | Сообщение # 6 | Тема: Вопрос-[ответ] по Unity
был не раз
Сейчас нет на сайте
seaman, А как он тогда пишется?
DroppДата: Вторник, 17 Апреля 2012, 13:00 | Сообщение # 7 | Тема: lvl система в rpg
был не раз
Сейчас нет на сайте
Могу ошибиться, но опытные люди меня поправят.Сразу говорю,чтобы все работало, нужен далеко не один этот скрипт.Например тебе надо будет написать скрипт отображения левла, изменения кол во экспы.И этот скрипт не самый удобный способ для прокачки и может глючить, зато показательный,если голова на плечах есть то можно и без стольких переменных обойтись, вообщем мы же учимся.
Code


using UnityEngine;
using System.Collections;

public class MyLevel : MonoBehaviour {
    private int _ourLevel=1;//текущий левел игрока
    private int _maxLevel=5;//максимальный левел игрока
    public int levelup=100;//кол/во экспы для получения нового уровня
    private int _secondLevel=levelup;//второй левел
    private int _thirdLevel=levelup*2;//третий левел
       private int _foursLevel=levelup*3;//четвертый левел
    private int _fivesLevel=levelup*4;//пятый левел
    public int ourExp=0;//текущее кол/во экспы

    // Use this for initialization
    void Start () {
     //прокачка
     if(ourExp<levelup)_ourLevel=1;
     else if(ourExp>=_secondLevel) _ourLevel=2;
     else if(ourExp>=_thirdLevel)_ourLevel=3;
     else if(ourExp>=_foursLevel)_ourLevel=4;
     else if(ourExp>=_fivesLevel)_ourLevel=5;
     else _ourLevel=5;
        
        
        
       
    }
       
    // Update is called once per frame
    void Update () {
    if (ourExp<0) ourExp=0
    }

}


Сообщение отредактировал Dropp - Вторник, 17 Апреля 2012, 13:01
DroppДата: Вторник, 17 Апреля 2012, 11:57 | Сообщение # 8 | Тема: Вопрос-[ответ] по Unity
был не раз
Сейчас нет на сайте
Здравствуйте, столкнулся с проблемой. Хотел написать код на C#, который делал бы полоску здоровья, ошибок там нет, даже unity их там не нашел. и script спокойно присоединился к FirstPersonController, но полоски нету.Вот код,может я ошибся.
Code
using UnityEngine;
using System.Collections;
//Публичный класс здоровья
public class HP : MonoBehaviour {

public int    maxHealth = 100; //максимальное здоровье

private int    _ourHealts = 100; //текущее здоровье
private float polhp; //полоска  

  // Use this for initialization
  void Start () {
   polhp= Screen.width/2; // размер полоски
   if(maxHealth<0) maxHealth=0; // защита от ошибки
   
  }
   
  // Update is called once per frame
  void Update () {
   
  }
   
  void OnGui () {
   GUI.Box(new Rect(10,10,polhp,20),_ourHealts + "/" + maxHealth); // Бокс с полоской
   
}
   
  public void AddjustCurrentHealth(int adj) {
   _ourHealts=adj;
   if(_ourHealts<0) _ourHealts=0; //страховка
      if(_ourHealts > maxHealth) _ourHealts=maxHealth;//страховка
    
  }
}
Форум игроделов » Записи участника » Dropp [8]
  • Страница 1 из 1
  • 1
Поиск:

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