Форум программистов, компьютерный форум, киберфорум
Unity, Unity3D
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.77/13: Рейтинг темы: голосов - 13, средняя оценка - 4.77
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 5

Unity 3D (nGUI). Как создать новый динамичный лейбл при нажатии кнопки?

30.11.2014, 12:09. Показов 2551. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такая вот штука:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
void OnClick ()
        {
                // присваиваем значениям val1 и val2 то, что введено в инпутах
                string val1 = (GameObject.Find ("value_1").GetComponent<UIInput> ().text);
                string val2 = (GameObject.Find ("value_2").GetComponent<UIInput> ().text);
 
                // создаем стринг с текущим временем
                string CurrentDate = DateTime.Now.ToString ("dd MMM HH:mm:ss");
 
 
                // Волшебная магия с TryParse, валидация полей при неверном вводе
                int number;
                bool result = Int32.TryParse (val1, out number);
 
                //Далее вывод на экран суммы val1 и val2 + текущее время
                if (result) {
                        int val1_1 = Convert.ToInt32 (val1);
                        int val1_2 = Convert.ToInt32 (val2);
                        GameObject.Find ("summ_label").GetComponent<UILabel> ().text = ((val1_1 + val1_2) + "\n" + CurrentDate).ToString ();
                }
    // если в поле пустое значение
        else {
                        if (val1 == "" || val2 == "") 
 
                                GameObject.Find ("summ_label").GetComponent<UILabel> ().text = "Введите 2 числа";
        // если введен неверный символ отличный от числа
            else 
            
                                GameObject.Find ("summ_label").GetComponent<UILabel> ().text = "Вы ввели неверный символ";
 
 
                }
        
 
        }

Нужно, чтоб при нажатии этой же кнопки создавался лейбл с вот этой штукой
C#
1
((val1_1 + val1_2) + "\n" + CurrentDate).ToString ();
Как это реализовать в скрипте C# для Unity3D?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
30.11.2014, 12:09
Ответы с готовыми решениями:

При каждом новом нажатии кнопки удалить старый таймер и создать новый
При каждом новом нажатии запускает новый таймер. Как его заставить отключать и уничтожать старый не понятно(( Как сделать, правильно? ...

Как при нажатии на обьект (кнопку, лейбл и т.д.) его перемещать и остальные двигать
Можно ли сделать так, чтоб при нажатии на обьект (кнопку, лейбл и т.д.) его можно было перемещать а остальные начинали двигаться? Заранее...

Новый семестр при нажатии кнопки
Добрый день! Надо было создать базу. Есть список студентов. В году есть семестры, в каждом семестре студент изучает одни и те же...

2
1 / 1 / 4
Регистрация: 29.10.2012
Сообщений: 31
07.04.2015, 22:30
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
 
 public GameObject PanelBig;
    public UIAtlas _atlas;
    public UIFont _font;
void Start()
{
GameObject go = GameObject.Instantiate(PanelBig) as GameObject; //размещаешь панельку
int depth = NGUITools.CalculateNextDepth(go);
        go = NGUITools.AddChild(go);
        go.name = "lbl" + idx.ToString();
UILabel lbl = NGUITools.AddWidget<UILabel>(go);
        lbl.font = _font;
        lbl.text = Text;
lbl.MakePixelPerfect();
}
код не мой, я и сам в нем только пытаюсь разобраться, в частности есть проблема с координатами, label распологается там, где сам хочет
0
0 / 0 / 0
Регистрация: 21.03.2014
Сообщений: 5
10.04.2015, 06:38  [ТС]
чтобы установить лейбл в пространстве я вижу 2 варианта:
1. Установить размеры и позицию в пространстве.
Это делается примерно так:

C#
1
2
3
4
5
6
7
8
Vector3 myVector;
myVector.x = 0;
myVector.y = 0;
myVector.z = 0;
lbl.localPosition = myVector;
 
lbl.width = 100;
lbl.height= 100;
2.Либо прианчорить к какому либо объекту.

C#
1
2
3
4
5
6
7
8
9
lbl.leftAnchor.target= go;
lbl.rightAnchor.target= go;
lbl.topAnchor.target= go;
lbl.bottomAnchor.target= go;
 
lbl.leftAnchor.absolute =0;
lbl.rightAnchor.absolute =0;
lbl.topAnchor.absolute =0;
lbl.bottomAnchor.absolute =0;
Если совсем грубо, то вроде так, коды не проверял, поэтому мог в чем-то ошибиться
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.04.2015, 06:38
Помогаю со студенческими работами здесь

Как создать две новые кнопки на форме при нажатии на текущую кнопку
Господа программисты помогите новичку который пытается освоить программирование Windows forms! Такое дело: пишу значить простой...

Как создать обработчик события при нажатии на кнопки Развернуть во весь экран - Восстановить?
Народ, Хелп! Как написать или создать в Delphi событие при нажатии на эту пару кнопок? Везде юзал, ничего не нашел. Есть для...

Unity/NGUI
Доброго времени суток)) Есть скрипт который заставляет объект двигаться в определённую сторону(влево) void Update() { ...

Можно ли создать ProgressBar при нажатии кнопки?
Можно ли создать progressbar при нажатии кнопки? То есть нажал на кнопку создался один, нажал еще раз создался другой. Добавлено через...

Создать процедуру, запускаемую при нажатии кнопки на форме
Ребята помогите пожалуйста : 1.создать процедуру, запускаемую при нажатии кнопки на форме и выполняющую вычисления по заданной формуле. ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
Инструменты COM: Сохранение данный из VARIANT в файл и загрузка из файла в VARIANT
bedvit 28.01.2026
Сохранение базовых типов COM и массивов (одномерных или двухмерных) любой вложенности (деревья) в файл, с возможностью выбора алгоритмов сжатия и шифрования. Часть библиотеки BedvitCOM Использованы. . .
SDL3 для Android: Загрузка PNG с альфа-каналом с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 28.01.2026
Содержание блога SDL3 имеет собственные средства для загрузки и отображения PNG-файлов с альфа-каналом и базовой работы с ними. В этой инструкции используется функция SDL_LoadPNG(), которая. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru