Четверг, 28 Марта 2024, 21:47

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Уроки по Unity3D 4.6 UI System
Уроки по Unity3D 4.6 UI System
afrokickДата: Понедельник, 29 Сентября 2014, 08:51 | Сообщение # 1
участник
Сейчас нет на сайте
Привет. Странно, что нет на русском уроков по новой системе. Решил исправить это недоразумение.

Список уроков тут: перейти

Следить за выходом уроков можно в твиттере или на канале Youtube


Сообщение отредактировал afrokick - Понедельник, 29 Сентября 2014, 08:56
robertonoДата: Понедельник, 29 Сентября 2014, 16:49 | Сообщение # 2
Чокнутый Кот
Сейчас нет на сайте
afrokick, Спасибо, очень нравятся ваши уроки smile
berilДата: Понедельник, 29 Сентября 2014, 18:41 | Сообщение # 3
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата afrokick ()
Странно, что нет на русском уроков по новой системе.

Наврно потому, что с новым гуи очень просто разобраться самому + хорошие официальные туториалы хорошие




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
robertonoДата: Понедельник, 29 Сентября 2014, 18:50 | Сообщение # 4
Чокнутый Кот
Сейчас нет на сайте
beril, а 4.6 ещё в бете, верно?
berilДата: Понедельник, 29 Сентября 2014, 18:57 | Сообщение # 5
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата robertono ()
beril, а 4.6 ещё в бете, верно?

да, щас вроде закрыли доступ. Я качал ее с сайта. Щас не вижу эту версию
Уже можно и 5 версию пощупать, я у китайцев уже видел ее




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
alexsilentДата: Понедельник, 29 Сентября 2014, 19:18 | Сообщение # 6
почти ветеран
Сейчас нет на сайте
Цитата beril ()
да, щас вроде закрыли доступ. Я качал ее с сайта. Щас не вижу эту версию

всё также открыта, есть бета


Сообщение отредактировал alexsilent - Понедельник, 29 Сентября 2014, 19:19
berilДата: Понедельник, 29 Сентября 2014, 19:53 | Сообщение # 7
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата alexsilent ()
всё также открыта, есть бета

Я ошибся тогда, мне ссылка в письме приходила просто.




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
ggmanДата: Среда, 01 Октября 2014, 01:09 | Сообщение # 8
постоянный участник
Сейчас нет на сайте
А когда там уже полноценную версию выпустят, не известно?
afrokickДата: Воскресенье, 23 Ноября 2014, 16:47 | Сообщение # 9
участник
Сейчас нет на сайте
К концу года вроде обещают...

Добавлено (23 ноября 2014, 16:47)
---------------------------------------------
Новый урок - Unity3D UI: Урок 5 - События. EventSystem, EventTrigger

SarCasmДата: Воскресенье, 23 Ноября 2014, 18:56 | Сообщение # 10
заслуженный участник
Сейчас нет на сайте
Как раз решил разобраться в новом ЮИ

Моя игра Gamiron#11 - Тема Скачать
afrokickДата: Вторник, 25 Ноября 2014, 01:34 | Сообщение # 11
участник
Сейчас нет на сайте
SarCasm, он вроде простой, так что не должен сильно гемора доставить)

Новый урок - Unity3D UI: Урок 6 - Layout Element
SyberexДата: Четверг, 12 Февраля 2015, 02:32 | Сообщение # 12
почетный гость
Сейчас нет на сайте
Цитата afrokick ()
Новый урок - Unity3D UI: Урок 5 - События. EventSystem, EventTrigger

очень полезный урок, спасибо!


Adventure Knight
Max and Zombies (в разработке)
aFriendДата: Воскресенье, 08 Марта 2015, 05:26 | Сообщение # 13
участник
Сейчас нет на сайте
А как кодом поменять Source Image в обьекте Image?

Добавлено (12 февраля 2015, 22:35)
---------------------------------------------
решил проблему:

Код
gameObject.GetComponent<UnityEngine.UI.Image> ().sprite = ....

всем спасибо

Добавлено (08 марта 2015, 05:26)
---------------------------------------------
Видел, в 5 уроке ты юзал вот такой код "GetComponent<EventTrigger>()", в моих юнити (в 4.6 и 5) нет такого компонента (EventTrigger), в чем проблема может быть?

nwsxДата: Воскресенье, 08 Марта 2015, 08:32 | Сообщение # 14
постоянный участник
Сейчас нет на сайте
нужно указать неймспейс в начале скрипта:
using UnityEngine.UI;


Westboro
Dungeon Journey на Google Play
aFriendДата: Воскресенье, 08 Марта 2015, 18:38 | Сообщение # 15
участник
Сейчас нет на сайте
nwsx, указал


Сообщение отредактировал aFriend - Воскресенье, 08 Марта 2015, 18:39
robertonoДата: Воскресенье, 08 Марта 2015, 23:58 | Сообщение # 16
Чокнутый Кот
Сейчас нет на сайте
aFriend, добавь неймспейс
UnityEngine.EventSystems
aFriendДата: Понедельник, 09 Марта 2015, 14:05 | Сообщение # 17
участник
Сейчас нет на сайте
robertono, благодарю

Добавлено (09 марта 2015, 14:05)
---------------------------------------------
2 вопроса:

Код

var tgo = GameObject.Find ("TestGameObject 0");
var et = tgo .GetComponent<EventTrigger> ();
var t = new EventTrigger.TriggerEvent ();
t.AddListener (data =>
{
          data.Use ();
          player.GetComponent<TestScript> ().TestVar (0);
});
et.delegates.Add (new EventTrigger.Entry{callback = t, eventID = EventTriggerType.PointerDown});
et.delegates.Add (new EventTrigger.Entry{callback = t, eventID = EventTriggerType.PointerUp});


Testvar() - функция, которая написана в компоненте TestScript, который висит на игроке(player) . Присваивает какой-то переменной число, в зависимости от того, на какой обьект нажал игрок.

1)Итак, можно ли как-нибудь узнать, какое событие произошло (PointerDown или PointerUp) для того, чтобы использовать что-то типа этого:
Код
t.AddListener (data =>
{
if(data = PointerDown){
          data.Use ();
          player.GetComponent<TestScript> ().TestVar (0);
}
if(data = PointerUp){
          data.Use ();
          player.GetComponent<TestScript> ().TestVar12 ();
}
});


2)
Почему этот код работает:
Код

var tgo = GameObject.Find ("TestGameObject 0");
var et = tgo .GetComponent<EventTrigger> ();
var t = new EventTrigger.TriggerEvent ();
t.AddListener (data =>
{
          data.Use ();
          player.GetComponent<TestScript> ().TestVar (0);
});
et.delegates.Add (new EventTrigger.Entry{callback = t, eventID = EventTriggerType.PointerDown});

tgo = GameObject.Find ("TestGameObject 1");
et = tgo .GetComponent<EventTrigger> ();
t = new EventTrigger.TriggerEvent ();
t.AddListener (data =>
{
          data.Use ();
          player.GetComponent<TestScript> ().TestVar (1);
});
et.delegates.Add (new EventTrigger.Entry{callback = t, eventID = EventTriggerType.PointerDown});


а этот - нет?
Код

for(int i = 0; i <=9;i++){
var tgo = GameObject.Find ("TestGameObject "+i);
var et = tgo .GetComponent<EventTrigger> ();
var t = new EventTrigger.TriggerEvent ();
t.AddListener (data =>
{
          data.Use ();
          player.GetComponent<TestScript> ().TestVar (i);
});
et.delegates.Add (new EventTrigger.Entry{callback = t, eventID = EventTriggerType.PointerDown});
}

Точнее работает, но в скрипт TestVar передается значение 9 независимо от того, на какой обьект нажали.

Можно ли как-нибудь заставить работать этот код с циклом? Уж очень не хочется писать 9 раз одно и то же, а в случае, если ответ на первый вопрос "нет", то 18 раз...


Сообщение отредактировал aFriend - Понедельник, 09 Марта 2015, 14:19
berilДата: Понедельник, 09 Марта 2015, 15:40 | Сообщение # 18
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
А этот обьект на который нажимаем - это Button?



Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
aFriendДата: Понедельник, 09 Марта 2015, 21:37 | Сообщение # 19
участник
Сейчас нет на сайте
beril, это картинка

Окей, одну проблему я решил (вторую), остался лишь один вопрос:
Код
var tgo = GameObject.Find ("TestGameObject 0");
var et = tgo .GetComponent<EventTrigger> ();
var t = new EventTrigger.TriggerEvent ();
t.AddListener (data =>
{
data.Use ();
player.GetComponent<TestScript> ().TestVar (0);
});
et.delegates.Add (new EventTrigger.Entry{callback = t, eventID = EventTriggerType.PointerDown});
et.delegates.Add (new EventTrigger.Entry{callback = t, eventID = EventTriggerType.PointerUp});


Цитата

1)Итак, можно ли как-нибудь узнать, какое событие произошло (PointerDown или PointerUp) для того, чтобы использовать что-то типа этого:

Код
t.AddListener (data =>
{
if(data = PointerDown){
data.Use ();
player.GetComponent<TestScript> ().TestVar (0);
}
if(data = PointerUp){
data.Use ();
player.GetComponent<TestScript> ().TestVar12 ();
}
});


Сообщение отредактировал aFriend - Понедельник, 09 Марта 2015, 21:40
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » Уроки по Unity3D 4.6 UI System
  • Страница 1 из 1
  • 1
Поиск:

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