Четверг, 28 Марта 2024, 14:27

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

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » UI script для начинающих (изменение свойств элементов управления через скрипт)
UI script для начинающих
sixdemonДата: Вторник, 18 Августа 2015, 15:29 | Сообщение # 1
был не раз
Сейчас нет на сайте
Добрый день!
Вынужден обратиться к Вам за помощью, так как избыток информации и спешка в работе мешают понять принципы работы unity3d scripts
Пытаясь начать делать игру с маленьким сыном, столкнулся с проблемой понимания принципов этих скриптов.

Вопрос:
не могу из скрипта , привязанного к Button - поменять собственно текст на самой кнопке или значение текста в Text на панели....

Уточнения: Начал изучать С#. Общие принципы кода понимаю , но не вижу возможности из transform обращаться именно к тексту...позицию научился изменять.

Был бы очень благодарен за помощь!

Сергей.


только учусь...
berilДата: Вторник, 18 Августа 2015, 19:37 | Сообщение # 2
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
Цитата sixdemon ()
не могу из скрипта , привязанного к Button - поменять собственно текст на самой кнопке или значение текста

Что то вроде этого
Код


Обьект.GetComponentInChildren<Text>().text = "blabla"





Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
8Observer8Дата: Вторник, 18 Августа 2015, 22:17 | Сообщение # 3
заслуженный участник
Сейчас нет на сайте
Цитата sixdemon ()
не могу из скрипта , привязанного к Button - поменять собственно текст на самой кнопке или значение текста в Text на панели....

А умеете ли вывести в консоль "Hello World!" при нажатии на кнопку?

Вот так:
Код

// ...

     void HelloButtonClicked()
     {
         Debug.Log("Hello World!");
     }

// ...
Dj_FroZTBiteДата: Среда, 19 Августа 2015, 02:13 | Сообщение # 4
Серебряная душа
Сейчас нет на сайте
Код
public string buttontext01 = "Текст кнопки 1"; // создали текст для кнопки

void OnGUI () { // метод для отрисовки кнопки как элемент GUI интерфейса
  if (GUI.Button (new Rect (20,20,20,20), buttontext01)) // создаем кнопку с тем самым текстом что мы задали в начале и сразу выполняем действие при ее нажатии
      {
          buttontext01 = "Текст Кнопки 2"; // меняем значение той самой string на это. соответственно текст кнопки теперь другой.
      }
}


Рук нет, есть только кривые культяпки.
8Observer8Дата: Среда, 19 Августа 2015, 08:14 | Сообщение # 5
заслуженный участник
Сейчас нет на сайте
sixdemon, чтобы путаницы не было уточните какие кнопки вы используете: те что из меню создаются или те что программно, как выше показали.
sixdemonДата: Среда, 19 Августа 2015, 09:41 | Сообщение # 6
был не раз
Сейчас нет на сайте
Всем спасибо за отклик. Попытался ответить на все вопросы.

Цитата 8Observer8 ()
А умеете ли вывести в консоль "Hello World!" при нажатии на кнопку?
Да конечно!! с этими примерами разобрался в первую очередь по урокам.

Цитата 8Observer8 ()
sixdemon, чтобы путаницы не было уточните какие кнопки вы используете: те что из меню создаются или те что программно, как выше показали.
Нет кнопки и текст я создал из Create в иерархии.

Цитата beril ()
Обьект.GetComponentInChildren<Text>().text = "blabla"
<Text> - это часть не очень понятно, что здесь надо вводить? ...

Цитата Dj_FroZTBite ()
buttontext01 = "Текст Кнопки 2"; // меняем значение той самой string на это. соответственно текст кнопки теперь другой.
      }
Это способ если создавать программно кнопки и тп. А я создаю из из Create.

вот скриншоты из программы (прошу прощение за размеры не понял как их в спойлер убрать..или как то скрыть):





только учусь...
8Observer8Дата: Среда, 19 Августа 2015, 11:00 | Сообщение # 7
заслуженный участник
Сейчас нет на сайте
Цитата sixdemon ()
<Text> - это часть не очень понятно, что здесь надо вводить? ...

Компонент Text висит на объекте. Text - это имя компонента. Вы можете его поменять.

Цитата sixdemon ()
вот скриншоты из программы (прошу прощение за размеры не понял как их в спойлер убрать..или как то скрыть)

Кнопка spoiler.

Ошибку выдаёт, потому что нужно без "s" писать: GetComponentsInChildren -> GetComponentInChildren


Сообщение отредактировал 8Observer8 - Среда, 19 Августа 2015, 11:02
berilДата: Среда, 19 Августа 2015, 11:50 | Сообщение # 8
Я не ленивый, я — энергосберегающий
Сейчас нет на сайте
player.GetComponentInChildren<Text>().text = ''
и подключить using UnityEngine.UI;




Накодил? Убери за собой!
Инвентарь в Unity(UI)
Инвентарь в Unity(GUI)
sixdemonДата: Среда, 19 Августа 2015, 13:57 | Сообщение # 9
был не раз
Сейчас нет на сайте
Цитата beril ()
player.GetComponentInChildren<Text>().text = ''
и подключить using UnityEngine.UI;


Спасибо большое помогло!!!!

Цитата 8Observer8 ()
Кнопка spoiler.
-пытался...кнопка в предпросмотре появилась но картинки так и были вне...хотя по коду были внутри...странно

Спасибо так же за помощь!!!


только учусь...
8Observer8Дата: Среда, 19 Августа 2015, 14:04 | Сообщение # 10
заслуженный участник
Сейчас нет на сайте
Цитата sixdemon ()
-пытался...кнопка в предпросмотре появилась но картинки так и были вне...хотя по коду были внутри...странно


Должно выглядеть так:



Сообщение отредактировал 8Observer8 - Среда, 19 Августа 2015, 14:05
sixdemonДата: Среда, 19 Августа 2015, 14:34 | Сообщение # 11
был не раз
Сейчас нет на сайте
Цитата 8Observer8 ()
Цитата sixdemon ()
-пытался...кнопка в предпросмотре появилась но картинки так и были вне...хотя по коду были внутри...странно

Должно выглядеть так:

Спасибо!


только учусь...
Форум игроделов » Движки для разработки игр и сложные системы разработки » Unity » UI script для начинающих (изменение свойств элементов управления через скрипт)
  • Страница 1 из 1
  • 1
Поиск:

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