Пятница, 19 Апреля 2024, 09:24

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Форум игроделов » Записи участника » Omlette [42]
Результаты поиска
OmletteДата: Понедельник, 05 Августа 2013, 20:43 | Сообщение # 1 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Adom, я же сказал, надо переменную в коде объявить.

Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
OmletteДата: Понедельник, 05 Августа 2013, 19:47 | Сообщение # 2 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
[Решено]

Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

Сообщение отредактировал Omlette - Понедельник, 05 Августа 2013, 22:35
OmletteДата: Воскресенье, 04 Августа 2013, 10:08 | Сообщение # 3 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Привет, народ!

Пишу имена над объектами и есть два варианта как это реализовать:

1. Ко всем необходимым объектам (монстрам, нпс и пр.) добавить GUIText и потом из скрипта пускать лучи и включать/выключать его.
(Мне кажется, или для создания полноценной мморпг это очень гиморно и никто так не делает?)

2. Тут я вешаю на чара скрипт, который ищет рэйкастом нужные объекты с тегом, кидает их в массив (тут я еще не определился, возможно стеки, очереди, листы) и следующий метод преобразовывает координаты этих объектов и выводит текст над ними.

В общем какой вариант лучше в плане фпс и компактности?


Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
OmletteДата: Четверг, 01 Августа 2013, 20:36 | Сообщение # 4 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Adom, до мультиплеера мне еще далеко, так что не шарю, сорь. Там надо, на сколько я помню, сервер писать...

Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
OmletteДата: Четверг, 01 Августа 2013, 20:30 | Сообщение # 5 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Adom, тут инспектор не при чем, так как переменная получает значение походу выполнения скрипта.

Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
OmletteДата: Четверг, 01 Августа 2013, 20:23 | Сообщение # 6 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Черт, народ, я замучался! Походу я вообще дурак happy

Помогите здесь найти NullReferenceException и тыкните где надо сделать проверку, пишет на 108 строке (
Код
else if (HideMonBar(transform.position.x, target.transform.position.x)
)

Че-то я не могу найти.

Вот собсно код:

Код

using UnityEngine;
using System.Collections;

public class mon_bar : MonoBehaviour
{
     public GUISkin skin;

     public bool show_mon_bar;
     string mon_name;
     int mon_lv;
     int mon_max_hp;
     int mon_cur_hp;
     string mon_class;
     GameObject target;

     GameObject go_mon;
     mon01_stats ob_mon;

     GameObject go_char;
     char_stats ob_char;

     //Цвет уровня монстра.
     int char_lv;
     string mon_lv_color;

     //sound
     public AudioClip click_mon_snd;

     // Use this for initialization
     void Start()
     {
         go_mon = GameObject.Find("mon_01");
         ob_mon = go_mon.GetComponent<mon01_stats>();

         go_char = GameObject.Find("main_char");
         ob_char = go_char.GetComponent<char_stats>();
         char_lv = ob_char.char_lv;

         show_mon_bar = false;

         if (ob_mon.mon_name == null)
         {
             mon_name = "Без имени";
         }
         else
         {
             mon_name = ob_mon.mon_name;
         }

         mon_lv = ob_mon.mon_lv;
         mon_max_hp = ob_mon.mon_max_hp;
         mon_cur_hp = ob_mon.mon_cur_hp;

         if (ob_mon.mon_class == null)
         {
             mon_class = "-";
         }
         else
         {
             mon_class = ob_mon.mon_class;
         }

         if (mon_lv < char_lv)
         {
             mon_lv_color = "LvMonLabelGray";
         }
         else if ((mon_lv - char_lv) <= 5 || mon_lv == char_lv)
         {
             mon_lv_color = "LvMonLabelWhite";
         }
         else if ((mon_lv - char_lv) > 5)
         {
             mon_lv_color = "LvMonLabelRed";
         }

     }

     // Update is called once per frame
     void Update()
     {
         Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);
         RaycastHit hit;

         if (Input.GetMouseButtonUp(0))
         {
             if (Physics.Raycast(ray, out hit, 65))
             {
                 Debug.DrawLine(ray.origin, hit.point);

                 if (hit.collider.gameObject.tag == "Monster")
                 {
                     show_mon_bar = true;
                     PlayMonClickSound();
                     target = hit.collider.gameObject;
                 }
                 else
                 {
                     show_mon_bar = false;
                 }
             }
         }

         if (Input.GetKeyDown(KeyCode.Escape))
         {
             show_mon_bar = false;
         }

         else if (HideMonBar(transform.position.x, target.transform.position.x)
               || HideMonBar(transform.position.y, target.transform.position.y)
               || HideMonBar(transform.position.z, target.transform.position.z))
         {
             show_mon_bar = false;
         }
     }

     bool HideMonBar(float x, float y)
     {
         if ((x - y) > 45f || (x - y) < -45f)
         {
             return true;
         }
         else
         {
             return false;
         }
     }

     void PlayMonClickSound()
     {
         audio.PlayOneShot(click_mon_snd);
     }

     void OnGUI()
     {
         GUI.skin = skin;

         if (show_mon_bar)
         {
             GUI.Box(new Rect(0.5f * Screen.width, 0.068f * Screen.height, Screen.width * 0.109f, Screen.height * 0.08f), mon_name, GUI.skin.GetStyle("MonsterBar"));
             GUI.Label(new Rect(0.503f * Screen.width, 0.097f * Screen.height, Screen.width * 0.01f, Screen.height * 0.01f), "Здоровье: " + mon_max_hp + " / " + mon_cur_hp, GUI.skin.GetStyle("HpChStatus"));
             GUI.Label(new Rect(0.503f * Screen.width, 0.123f * Screen.height, Screen.width * 0.01f, Screen.height * 0.01f), "Класс: " + mon_class, GUI.skin.GetStyle("HpChStatus"));
             GUI.Label(new Rect(0.622f * Screen.width, 0.07f * Screen.height, Screen.width * 0.01f, Screen.height * 0.01f), mon_lv.ToString(), GUI.skin.GetStyle(mon_lv_color));
         }
     }
}


Буду очень благодарен!


Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
OmletteДата: Четверг, 01 Августа 2013, 11:17 | Сообщение # 7 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Удалено.

Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

Сообщение отредактировал Omlette - Четверг, 01 Августа 2013, 20:41
OmletteДата: Вторник, 30 Июля 2013, 20:48 | Сообщение # 8 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
(Удалено)

Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

Сообщение отредактировал Omlette - Четверг, 01 Августа 2013, 20:41
OmletteДата: Вторник, 30 Июля 2013, 16:16 | Сообщение # 9 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
lentinant, спасибо тебе большое за ответ и за имагу, но не мог бы что-нибудь еще придумать что написать, чтоб я понял, а то никак не доходит( Тема с векторами, трансформами, координатами и т.п. - это пожалуй самое сложное для меня, причем чтение доков не помогает(

Локальная система координат, это когда объект является дочерним и нажав в его трансформе "рэсет", мы получаем его коорды (0.0.0) и он находится в центре родителя? Не так?

В каких случаях часто юзается преобразование этих двух систем? Может посоветуешь как-то расположить объекты и написать к ним маленькие скрипты, чтоб увидеть как это работает?

Если что, вот скрипт, над которым я работаю:[GUI текст над объектом]

З.Ы. Весь день гуглил, так и не допер. angry


Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

Сообщение отредактировал Omlette - Вторник, 30 Июля 2013, 16:16
OmletteДата: Понедельник, 29 Июля 2013, 20:52 | Сообщение # 10 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Код
Vector3 cameraRelative = Camera.main.transform.InverseTransformPoint(transform.position);


Народ, объясните эту строку, прошу, совсем не доходит(

Почему, если main это статик переменная структуры Camera, тогда что это за transform появляется..?

InverseTransformPoint() Не сильно понимаю, как работает метод... Local space это экран или как?)


Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

Сообщение отредактировал Omlette - Понедельник, 29 Июля 2013, 21:05
OmletteДата: Воскресенье, 21 Июля 2013, 19:38 | Сообщение # 11 | Тема: Получение методов и переменных из других классов
частый гость
Сейчас нет на сайте
Спасибо вам, все уяснил и понял! Какой же я пустоголовый)

Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
OmletteДата: Воскресенье, 21 Июля 2013, 17:56 | Сообщение # 12 | Тема: Получение методов и переменных из других классов
частый гость
Сейчас нет на сайте
Всем привет! Как же я замучался с этой темой уже: как получить переменную или выполнить метод из других классов (скриптов)? Модификатор static, как я полагал, именно для этого и существует. Я объявлял переменную как static public, далее, из другого уже скрипта, писал имя_класса.имя_переменной.

Вот мои скрипты:

1. Скрипт monster_bar

Код

using UnityEngine;
using System.Collections;
//using System.Linq;

public class monster_bar : MonoBehaviour {
   
  //Main script vars
  public readonly int lv = monster_stats.monster_level;
  public readonly int hp = monster_stats.monster_hp;
  public int cur_hp = monster_stats.monster_cur_hp;
   
     string target_name;
     static bool show_bar;
   
  //strings
  public string mclass;
  public string class_title;
   
  //sound
  public AudioClip click_mob;
   
  //Style
  public GUISkin skin;
    
  // Use this for initialization
  void Start ()  
  {
   cur_hp = hp;
  }
   
  // Update is called once per frame
     void Update()
  {
  if (Input.GetMouseButtonUp(0))
         {
             Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);            //получим координаты мышки
             RaycastHit hit;                    //Объявим структуру, из которой будем брать данные
      
             if (Physics.Raycast(ray, out hit, 65))                    //возвращает true если сталкивается с чем либо
             {
        Debug.DrawLine(ray.origin, hit.point);                             //покажем линией на выделяемый объект.
              
    
       if(hit.collider.gameObject.tag == "monster")                        // Разрешаем помечать объекты только с этим тегом
    {         
        show_bar = true;
     target_name = hit.collider.gameObject.name;
        audio.PlayOneShot(click_mob);
    }   
       else  
       {
           show_bar = false;
     target_name = null;
       }
    }
   }
       if (Input.GetKeyDown(KeyCode.Escape))
     {
      show_bar = false;
            target_name = null;
     }
  }
   
  static public void CheckMonsterRaycast()
  {
   if (show_bar == true)
   {
    return true;
   }
   else
   {
    return false;
   }
  }
   
  void OnGUI()
  {
   GUI.skin = skin;
    
   if (show_bar)
   {    
    GUI.Box(new Rect(0.5f * Screen.width, 0.048f * Screen.height, Screen.width * 0.109f, Screen.height * 0.08f), target_name, GUI.skin.GetStyle("monster_bar"));
    GUI.Label(new Rect(0.503f * Screen.width, 0.077f * Screen.height, Screen.width * 0.01f, Screen.height * 0.01f), "Health: " + hp + " / " + cur_hp, GUI.skin.GetStyle("hp_ch_status"));
    GUI.Label(new Rect(0.503f * Screen.width, 0.103f * Screen.height, Screen.width * 0.01f, Screen.height * 0.01f), class_title + ": " + mclass, GUI.skin.GetStyle("hp_ch_status"));
   }
  }
}


2. Скрипт testsc
Код

using UnityEngine;
using System.Collections;

public class testsc : MonoBehaviour {

  // Use this for initialization
  void Start () {
   
   if (monster_bar.CheckMonsterRaycast())
   {
    print("true");
   }
    
   else
   {
    print ("false");
   }
  }
   
  // Update is called once per frame
  void Update ()
  {
    
  }
}


На первый взгляд мне кажется это очень легкая задача, но увы ничего не получается. Как мне кажется, метод CheckMonsterRaycast() из первого скрипта проверяет переменную show_bar, когда она только инициализирована, т.е. не видит все действия, которые с ней происходят в методе Update.

Прошу помогите раз и навсегда разобраться с этим делом, на конкретных примерах, чтоб я уже забыл про это. Спасибо откликнувшимся!


Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
OmletteДата: Пятница, 19 Июля 2013, 14:29 | Сообщение # 13 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
[Удалено]

Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

Сообщение отредактировал Omlette - Пятница, 19 Июля 2013, 14:32
OmletteДата: Пятница, 19 Июля 2013, 10:48 | Сообщение # 14 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Я прочитал 400 страниц Шилдта (учебник с#) и никак не могу применять полученные знания в юньке. Не понимаю когда нужно ограничивать доступ к методам, переменным, свойствам (сделать их readonly), когда юзать интерфейсы, наследование, индексаторы и т.п. А и еще не понимаю когда нужно создавать объекты класса.... В написании игровых скриптов, мне кажется все совсем по-другому и я запутываюсь.
А за ответы спасибо, буду пробовать.

П.С. На сколько я помню, как было в книге написано


Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

Сообщение отредактировал Omlette - Пятница, 19 Июля 2013, 10:51
OmletteДата: Четверг, 18 Июля 2013, 21:23 | Сообщение # 15 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
E][pert, как зачем? Чтоб получать ее значение извне.

Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
OmletteДата: Четверг, 18 Июля 2013, 20:22 | Сообщение # 16 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Kira, тогда как сделать ссылку на первую..? Что-то не врубаюсь

Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

Сообщение отредактировал Omlette - Четверг, 18 Июля 2013, 20:23
OmletteДата: Четверг, 18 Июля 2013, 15:38 | Сообщение # 17 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
NEBR, черт, не выходит почему-то. Мб напишешь, буду очень признателен.

Добавлено (18.07.2013, 15:38)
---------------------------------------------
Я провел эксперимент, если создам статическую переменную в одном скрипте и получу ее в другом, то когда эту переменную изменю в главном скрипте, ее значение не меняется во втором скрипте. Как-то так:

1-й скрипт scriptwithvar
Код

static public int test = 39;


2-й скрипт:

Код

static int _test = scriptwithvar.test; //Теперь значение _test = 39.



Меняю в scriptwithvar значение на 40, однако во втором скрипте остается 39... Как так?


Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

Сообщение отредактировал Omlette - Четверг, 18 Июля 2013, 15:38
OmletteДата: Среда, 17 Июля 2013, 22:43 | Сообщение # 18 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Всем здрасьте! А у меня такая проблема...

В общем нужно сделать, чтоб при нажатии на ГО с некоторым тегом появлялся бар. Это все легко. Проблем не было, когда я все писал в одном скрипте:

Код
using UnityEngine;
using System.Collections;

public class monster_bar : MonoBehaviour {
     
   public readonly int lv = monster_stats.monster_level;
   public readonly int hp = monster_stats.monster_hp;
   public int cur_hp = monster_stats.monster_cur_hp;
   public Texture2D monster_img;
        
      public  bool Show_bar = false;
   public  string Target_name;
     
   public GUISkin skin;
   //strings
   public string mclass;
   public string class_title;
     
   //sound
   public AudioClip Click_mob;
      
   // Use this for initialization
   void Start ()   
   {
    cur_hp = hp;
   }
     
     
   // Update is called once per frame
      void Update()
   {
      
   if (Input.GetMouseButtonUp(0))
          {
              Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);              
              RaycastHit hit;                     
        
              if (Physics.Raycast(ray, out hit, 65))                     
              {
         Debug.DrawLine(ray.origin, hit.point);                     
                
      
        if(hit.collider.gameObject.tag == "monster")                         
     {          
         Show_bar = true;
      target_name = hit.collider.gameObject.name;
         audio.PlayOneShot(Click_mob);
     }    
        else   
        {
            Show_bar = false;
      target_name = null;
        }
    }
    }
        if (Input.GetKeyDown(KeyCode.Escape))
      {
       Show_bar = false;
             target_name = null;
      }
   }
     
   void OnGUI()
   {
      
    GUI.skin = skin;
      
    if (ShowBar == true)
    {     
     GUI.Box(new Rect(0.5f * Screen.width, 0.048f * Screen.height, Screen.width * 0.109f, Screen.height * 0.08f), Target_name, GUI.skin.GetStyle("monster_bar"));
     GUI.Label(new Rect(0.503f * Screen.width, 0.077f * Screen.height, Screen.width * 0.01f, Screen.height * 0.01f), "Health: " + hp + " / " + cur_hp, GUI.skin.GetStyle("hp_ch_status"));
     GUI.Label(new Rect(0.503f * Screen.width, 0.103f * Screen.height, Screen.width * 0.01f, Screen.height * 0.01f), class_title + ": " + mclass, GUI.skin.GetStyle("hp_ch_status"));
    }
   }
}


Однако мне нужно, чтобы все это лежало во втором скрипте, а этот только отображал на экран.

Пытаюсь так:

1. Основной скрипт monster_targetting:

Код
using UnityEngine;
using System.Collections;

public class monster_targetting : MonoBehaviour {
     
      static private bool _Show_bar = false;
   static private string _target_name;
     
   static public bool Show_bar
   {
    get
    {
     return _Show_bar;
    }
      
    set
    {
     _Show_bar = value;
    }
   }
     
    static public string  target_name
   {
    get
    {
     return _target_name;
    }
      
    set
    {
     _target_name = value;
    }
   }
     
   //sounds
   static readonly AudioClip Click_mob;
     
   // Use this for initialization
   void Start () {
     
   }
     
   // Update is called once per frame
      void Update()
   {
      
   if (Input.GetMouseButtonUp(0))
          {
              Ray ray = Camera.main.ScreenPointToRay(Input.mousePosition);            //получим координаты мышки
              RaycastHit hit;                    //Объявим структуру, из которой будем брать данные
        
              if (Physics.Raycast(ray, out hit, 65))                    //возвращает true если сталкивается с чем либо
              {
         Debug.DrawLine(ray.origin, hit.point);                             //покажем линией на выделяемый объект.
                
      
        if(hit.collider.gameObject.tag == "monster")                        // Разрешаем помечать объекты только с этим тегом
     {          
         Show_bar = true;
      target_name = hit.collider.gameObject.name;
         audio.PlayOneShot(Click_mob);
     }    
        else   
        {
            Show_bar = false;
      target_name = null;
        }
    }
    }
        if (Input.GetKeyDown(KeyCode.Escape))
      {
       Show_bar = false;
             target_name = null;
      }
   }
}


2. Ну и второй, получающий переменные и выводящий на экран панель:

Код
using UnityEngine;
using System.Collections;

public class monster_bar : MonoBehaviour {
     
   public readonly int lv = monster_stats.monster_level;
   public readonly int hp = monster_stats.monster_hp;
   public int cur_hp = monster_stats.monster_cur_hp;
   public Texture2D monster_img;
        
   public string Target_name = monster_targetting.target_name;
      public bool ShowBar = monster_targetting.Show_bar;
     
   public GUISkin skin;
   //strings
   public string mclass;
   public string class_title;
     
   //sound
   public AudioClip Click_mob;
      
   // Use this for initialization
   void Start ()   
   {
    cur_hp = hp;
   }
     
     
   // Update is called once per frame
      void Update ()
   {
      
   }
     
   void OnGUI()
   {
      
    GUI.skin = skin;
      
    if (ShowBar == true)
    {     
     GUI.Box(new Rect(0.5f * Screen.width, 0.048f * Screen.height, Screen.width * 0.109f, Screen.height * 0.08f), Target_name, GUI.skin.GetStyle("monster_bar"));
     GUI.Label(new Rect(0.503f * Screen.width, 0.077f * Screen.height, Screen.width * 0.01f, Screen.height * 0.01f), "Health: " + hp + " / " + cur_hp, GUI.skin.GetStyle("hp_ch_status"));
     GUI.Label(new Rect(0.503f * Screen.width, 0.103f * Screen.height, Screen.width * 0.01f, Screen.height * 0.01f), class_title + ": " + mclass, GUI.skin.GetStyle("hp_ch_status"));
    }
   }
}


Очень много чего испробовал, ничего не вышло. Отображающий скрипт не ловит значения переменных (свойств)....

П.С. Сорри если есть где копи-паст ошибка в скриптах. Заранее благодарю откликнувшимся!


Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

Сообщение отредактировал Omlette - Среда, 17 Июля 2013, 22:44
OmletteДата: Вторник, 18 Декабря 2012, 19:24 | Сообщение # 19 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Ну что, никто не знает?

Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!

Сообщение отредактировал Omlette - Вторник, 18 Декабря 2012, 19:25
OmletteДата: Понедельник, 17 Декабря 2012, 19:52 | Сообщение # 20 | Тема: Вопрос-[ответ] по Unity
частый гость
Сейчас нет на сайте
Как сделать запуск частицы при значении переменной ТРУ (сорри за непонятное изложение)
Code
using UnityEngine;
using System.Collections;

public class fireball : MonoBehaviour {
public float damage = 34;
public float distance = 400;
public string name = "Fireball";  
public string description = "The first skill of Fahupost's race. Fire element.";
public Texture2D fireball_ico;  
public GameObject smoker;
public bool _fireball = false;
public ParticleSystem fireball_anim;  
  // Use this for initialization
  void Start () {
smoker = (GameObject)this.gameObject;
fireball_anim = new ParticleSystem();   
    
  }
   
  // Update is called once per frame
  void Update () {
   if (Input.GetKeyDown(KeyCode.Alpha1)){
  _fireball = true;   
   }
    
   if (_fireball==true){
fireball_anim.isPlaying=true;  
   Ray ray = new Ray (smoker.transform.position,transform.forward);
  RaycastHit hit;  
  if (Physics.Raycast (ray,out hit,distance))  
   {
if (hit.collider.gameObject.tag == "invader")
    {
hit.collider.gameObject.renderer.material.color = Color.green;
print ("You hit the " + hit.collider.name + " " + damage + " damage.");     
    }
   }
  }
else
   {
   _fireball=false;  
   }   
  }
}

Вот мои безмозглые попыточки... При этом надо, чтобы вектор частицы был направлен в ГО с тэгом "invader". Как-то так...


Я все смогу! Я все сумею! Переживу! Переболею! Перекантуюсь! Перебьюсь! Но своего таки добьюсь! Не упаду! Не утону! Из грязи вырвусь! Я смогу! И вновь улыбка засияет! Я все смогу! Я все сумею! Я не боюсь! Я не жалею!
Форум игроделов » Записи участника » Omlette [42]
  • Страница 1 из 3
  • 1
  • 2
  • 3
  • »
Поиск:

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