Проблема с инвентарем
|
|
allods | Дата: Суббота, 16 Января 2016, 20:46 | Сообщение # 21 |
почти ветеран
Сейчас нет на сайте
| засунь хоть ы функцию или корутину хоть куда
|
|
| |
Valik_Fenko | Дата: Суббота, 16 Января 2016, 20:47 | Сообщение # 22 |
почетный гость
Сейчас нет на сайте
| Воту меня такая идея.Сделать два Lista Один чет типа префаба предметов,там скажем меч какой-то у него заданы статы и этот лист хранит их,а второй это созданные предметы,скажем игрок может слутать несколько одинаковых предметов и они будут создаватся из листа 1.Это норм идея или нагрузка слишком большая будит.Мб кто чего посоветует получше?
Сообщение отредактировал Valik_Fenko - Суббота, 16 Января 2016, 14:05 |
|
| |
seaman | Дата: Суббота, 16 Января 2016, 20:47 | Сообщение # 23 |
старожил
Сейчас нет на сайте
| Цитата каждый раз когда я захочу создать предмет мне нужно перезаписать массив Неверно. Почитайте еще про List. В частности про List.Add
Сообщение отредактировал seaman - Суббота, 16 Января 2016, 15:59 |
|
| |
beril | Дата: Суббота, 16 Января 2016, 23:11 | Сообщение # 24 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Соеденил все темы автора в одну. Не стоит плодить однотипные темы ;)
Цитата Valik_Fenko ( ) Я пока молчу про мультиплеер,но ведь для такой игры нужен динамический инвентарь,а точней итемы.То есть,убил моба - создались предметы.А как их создать програмно ,а не в ручную позапихивать в инвентарь в вышеуказаных уроках я не увидел
А что мешает то ?
к примеру у тебя класс с твоими параметрами предметов
Код [Serializable] public class Item { public string Name; public string ID;
public Item(string name, int id) { Name = name; Id= id; } } Вот так создаешь программно и добавляешь в свою базу данных
Код public class Inventory { List<Item> item = new List<Item>(); список, где ты хранишь все преметы инвентаря
void Start() { Item newItem = new Item ("Меч", 5);..создаешь программно новый предмет item.Add(newItem);добавляешь в список } }
А вообще лучше создать заранее все предметы хранить их в XML или JSON и оттуда загружать в список.
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
Valik_Fenko | Дата: Понедельник, 18 Января 2016, 22:41 | Сообщение # 25 |
почетный гость
Сейчас нет на сайте
| Пишу инвентарь на Gui ,пока успешно,но столкнулся с тонкостью. Есть вот такое if(Gui.Buttom(new rect,бла бла бла... { } это проверяет нажатия на кнопку,а как мне проверить скажем наведения на неё мишкой или мб мне нид проверить что мишка зажата на кнопке.Как это сделать?
|
|
| |
zisX | Дата: Понедельник, 18 Января 2016, 23:51 | Сообщение # 26 |
Neto Zis
Сейчас нет на сайте
| Valik_Fenko, Хранить позицию кнопки в Rect и проверять находится ли позиция мышки в переменной (Rect). А нажатия проверять так же только поставить перед этим условие нажата ли левая кнопка мыши
If(Input.GetMouseButtonDown(0))
|
|
| |
beril | Дата: Вторник, 19 Января 2016, 02:27 | Сообщение # 27 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Код Rect rect2 = new Rect(0,0,300,500); GUI.Box(rect2, "Rect2"); if(rect1.Contains(Event.current.mousePosition)) Debug.Log("rect1");
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
Valik_Fenko | Дата: Вторник, 19 Января 2016, 14:22 | Сообщение # 28 |
почетный гость
Сейчас нет на сайте
| Мне нид сделать чтоб зажатой на иконке клавиши миши происходило одно дейсвие ,а при нажатия на неё - другое.Я написал вот так но это не работает((
Код if(NewRect.Contains(Event.current.mousePosition)) { if(Input.GetMouseButton(0)) { GUI.Label(NewRect,"Работает"); if(Input.GetMouseButtonDown(0)) { //Дейтвие } } } }
|
|
| |
allods | Дата: Вторник, 19 Января 2016, 14:47 | Сообщение # 29 |
почти ветеран
Сейчас нет на сайте
| Почему не сделать на UI намного проще красивей итп
|
|
| |
Valik_Fenko | Дата: Вторник, 19 Января 2016, 14:52 | Сообщение # 30 |
почетный гость
Сейчас нет на сайте
| Проще,красивей.Чем ? Не по теме.
Сообщение отредактировал Valik_Fenko - Вторник, 19 Января 2016, 14:52 |
|
| |
Valik_Fenko | Дата: Вторник, 19 Января 2016, 16:04 | Сообщение # 31 |
почетный гость
Сейчас нет на сайте
| Я посотрел урок по созданию Gui инвентаря ,но ничерта не понял =(.Как сделать перетаскивание Gui.Button? //
Так терь появился другой вопрос.У меня есть этот самый Gui.Box с иконкой предмета он такается по экрану,но как сделать чтоб он был поверх других боксов и кнопок?
Сообщение отредактировал Valik_Fenko - Вторник, 19 Января 2016, 16:41 |
|
| |
zisX | Дата: Вторник, 19 Января 2016, 17:35 | Сообщение # 32 |
Neto Zis
Сейчас нет на сайте
| Valik_Fenko, Читать справку, хватить плодить темы.
|
|
| |
Valik_Fenko | Дата: Вторник, 19 Января 2016, 17:57 | Сообщение # 33 |
почетный гость
Сейчас нет на сайте
| В справке я ниче не нашел
|
|
| |
beril | Дата: Вторник, 19 Января 2016, 18:18 | Сообщение # 34 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| Реально, хватит уже плодить темы с простыми вопросами задавай их в разделе Вопрос-Ответ или в своей теме с инвентарем("Проблема с инвентарем"), куда я уже обьеденил все твои темы. Все ответы на твои вопросы, как сказали выше , есть в справке.
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |
beril | Дата: Вторник, 19 Января 2016, 18:20 | Сообщение # 35 |
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
| По поводу вопроса: элементы в OnGUI отображаются по порядку, что в коде ниже всего, то и будет отображаться поверх всего
Накодил? Убери за собой! Инвентарь в Unity(UI) Инвентарь в Unity(GUI)
|
|
| |