UI button переключение между панелями (РЕШЕНО)

Графический интерфейс пользователя

UI button переключение между панелями (РЕШЕНО)

Сообщение pesiik 22 сен 2015, 15:26

Есть две камеры: Division_camera и Main_menu_Camera. Как реализовать переключение между ними по нажатию кнопки на канвасе? Или есть более удобный вариант, без переключения между копиями одного канваса? Типа создание подменю
Screenshot_1.jpg
У вас нет доступа для просмотра вложений в этом сообщении.
Последний раз редактировалось pesiik 23 сен 2015, 14:15, всего редактировалось 1 раз.
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: UI button переключение камеры

Сообщение PREZRAK 22 сен 2015, 17:05

Да, представьте себе, можно создавать сколько угодно канвасов (ну и анимировать их, а ещё есть компонент canvasGroup).
участник клуба GCC
Аватара пользователя
PREZRAK
Старожил
 
Сообщения: 653
Зарегистрирован: 30 май 2013, 12:41
  • Сайт

Re: UI button переключение камеры

Сообщение pesiik 22 сен 2015, 17:12

PREZRAK писал(а):Да, представьте себе, можно создавать сколько угодно канвасов (ну и анимировать их, а ещё есть компонент canvasGroup).

Представил)
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: UI button переключение камеры

Сообщение samana 22 сен 2015, 17:21

Ещё посмотрите видео-уроки по созданию меню, это не сложно и многое станет понятно. Но вам правильно подсказали: лучше просто сделать анимацию "внутренностей" канваса, либо просто вкл/выкл, разных паленей (Panel), чем заводить для каждого меню свою камеру.
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: UI button переключение камеры

Сообщение pesiik 23 сен 2015, 09:30

samana писал(а):Ещё посмотрите видео-уроки по созданию меню, это не сложно и многое станет понятно. Но вам правильно подсказали: лучше просто сделать анимацию "внутренностей" канваса, либо просто вкл/выкл, разных паленей (Panel), чем заводить для каждого меню свою камеру.

Вот простое решение, спасибо. Просто опыта не хватает самому догадаться. Казалось бы, элементарно же
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: UI button переключение камеры

Сообщение pesiik 23 сен 2015, 09:53

samana писал(а):Ещё посмотрите видео-уроки по созданию меню, это не сложно и многое станет понятно. Но вам правильно подсказали: лучше просто сделать анимацию "внутренностей" канваса, либо просто вкл/выкл, разных паленей (Panel), чем заводить для каждого меню свою камеру.

я гуглил, но по смене панелек не нашел, может плохо гуглил
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: UI button переключение камеры

Сообщение samana 23 сен 2015, 10:34

Вот что мне попалось на первых порах, возможно поможет вам - https://www.youtube.com/watch?v=8Z1rWm4B9eY
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: UI button переключение камеры

Сообщение pesiik 23 сен 2015, 10:48

samana писал(а):Вот что мне попалось на первых порах, возможно поможет вам - https://www.youtube.com/watch?v=8Z1rWm4B9eY

спасибо. щас посмотрю логику хотя б. я так понял что в класce UnityEngine.UI нет Panel. Можно попробовать через GameObject.SetActive();
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: UI button переключение камеры

Сообщение samana 23 сен 2015, 11:42

pesiik писал(а): я так понял что в класce UnityEngine.UI нет Panel

Panel - это просто GameObject с компонентами (RectTransform, Canvas Renderer).
Аватара пользователя
samana
Адепт
 
Сообщения: 4738
Зарегистрирован: 21 фев 2015, 13:00
Откуда: Днепропетровск

Re: UI button переключение камеры

Сообщение pesiik 23 сен 2015, 11:57

samana писал(а):Вот что мне попалось на первых порах, возможно поможет вам - https://www.youtube.com/watch?v=8Z1rWm4B9eY

она делает все через анимацию. мне же надо переключаться между панелями к которым прикреплены кнопки
Изображение
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: UI button переключение камеры

Сообщение pesiik 23 сен 2015, 12:12

samana писал(а):
pesiik писал(а): я так понял что в класce UnityEngine.UI нет Panel

Panel - это просто GameObject с компонентами (RectTransform, Canvas Renderer).

Я понял как обозначить ее через public в инспекторе. а как внутри скрипта записать, что бы при нажатия закрывалась первая панель, открывалась вторая.
Синтаксис:
Используется csharp
public class ChengeDivisionButton : MonoBehaviour {

    GameObject Division;
   
        void Example () {
        Division = GameObject.Find("Main Buttons");
        }
       
       
}
- таким макаром я ее найду?
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: UI button переключение камеры

Сообщение Tolking 23 сен 2015, 13:03

Зачем искать?

Division пабликом сделай и выбери в едиторе нужный...

Только посмотри какой точно тип у элемента.
Ковчег построил любитель, профессионалы построили Титаник.
Аватара пользователя
Tolking
Адепт
 
Сообщения: 2716
Зарегистрирован: 08 июн 2009, 18:22
Откуда: Тула

Re: UI button переключение камеры

Сообщение pesiik 23 сен 2015, 13:12

Tolking писал(а):Зачем искать?

Division пабликом сделай и выбери в едиторе нужный...

Только посмотри какой точно тип у элемента.

просто хотел внутри скрипта все организовать. написал
Синтаксис:
Используется csharp
public class ChengeDivisionButton : MonoBehaviour {

    GameObject Main;
    GameObject Division;

        void Start () {
        Main = GameObject.Find("Main Buttons");
        Division = GameObject.Find("Division Buttons");
        }

    public void SwitchDivision () {
        Main.SetActive(false);
        Division.SetActive(true);
            }
}

при клике на кнопку выключается мейн меню, но дивизион меню не появляется. видимо из за того, что по умолчанию дивизион деактивирован и он его не находит в void start. как исправить?
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: UI button переключение камеры

Сообщение pesiik 23 сен 2015, 13:20

Сделано. Просто включил его по умолчанию. Нашел,в void start выключил. И опять включил
Синтаксис:
Используется csharp
    GameObject Main;
    GameObject Division;

        void Start () {
        Main = GameObject.Find("Main Buttons");
        Division = GameObject.Find("Division Buttons");
        Division.SetActive(false);
        }

    public void SwitchDivision () {
        Main.SetActive(false);
        Division.SetActive(true);
            }
}
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46


Вернуться в uGUI

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2