InputField и Text

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

InputField и Text

Сообщение zomgzufall 08 дек 2014, 05:35

С кнопками вроде разобрался. А вот с полем ввода и текстом пока непонятки.
Подскажите, пожалуйста, как в новом UI сделать следующее:
Синтаксис:
Используется csharp
public string curip; // Текущий ip в локальной сети.
public string ip; // Ip который я сам буду вводить.

private void Start () {
curip = Network.player.ipAddress;
}

private void OnGUI() {
GUI.Label(new Rect(0, 150, 1920, 108), "Moй ip: "+curip); // Текущий ip нужно вывести в Text.
ip = GUI.TextField(new Rect(710, 230, 500, 108), 15); // А это нужно ввести в InputField...

if(GUI.Button(new Rect(460,600,1000,216), "Присоедениться")) { // ... и при нажатии этой кнопки использовать значение которjе мы ввели в InputField
Network.Connect( ip, Multiplayer.networkPort );
}
}
 


Кнопку то я понял как сделать, а вот как использовать переменные в тексте и поле ввода в новом UI не пойму.
В комментариях пояснил, что требуется.
zomgzufall
UNец
 
Сообщения: 47
Зарегистрирован: 19 июл 2013, 09:49

Re: InputField и Text

Сообщение Order 08 дек 2014, 06:50

Здравствуйте.

Может попробовать перевести в string ?

curip.ToString();

Строчка из справочника http://docs.unity3d.com/ScriptReference/GUI.TextField.html
stringToEdit = GUI.TextField(new Rect(10, 10, 200, 20), stringToEdit, 25);
Добавить rusorder в Skype , _juc4you@mail.ru ;
Платные консультации, программирование ваших проектов Unity3d,C#,IOS,Android.
Скрытый текст:
_ttp://www.youtube.com/watch?v=1m2qTnatSjM&list=UUjcKNvONEUHCILG7QrX1NFg
Order
Старожил
 
Сообщения: 805
Зарегистрирован: 21 фев 2010, 10:34

Re: InputField и Text

Сообщение zomgzufall 08 дек 2014, 09:15

Order писал(а):Здравствуйте.

Может попробовать перевести в string ?

curip.ToString();

Строчка из справочника http://docs.unity3d.com/ScriptReference/GUI.TextField.html
stringToEdit = GUI.TextField(new Rect(10, 10, 200, 20), stringToEdit, 25);


Добрый день. Видимо я не правильно объснил, что мне неопходимо. Пример скрипта который я привел работает корректно, он меня устраивает.
Теперь я хочу перевести интерфейс из скрипта(ту часть, что в OnGUI()) в новый unity UI, который ввели в unity 4.6.

Так вот на счет этого нового UI: как сделать выполнение функции при нажатии на кнопку я разобрался, а вот как выводить переменные в Text, и вводить переменные в InputField не пойму.
zomgzufall
UNец
 
Сообщения: 47
Зарегистрирован: 19 июл 2013, 09:49

Re: InputField и Text

Сообщение Андрей 09 дек 2014, 02:06

Добрый день
В пакадже решение
У вас нет доступа для просмотра вложений в этом сообщении.
Аватара пользователя
Андрей
UNIт
 
Сообщения: 89
Зарегистрирован: 06 окт 2011, 10:48

Re: InputField и Text

Сообщение eonyanov 15 дек 2014, 15:27

Тебе надо создать паблик переменные Text и InputField в скрипте, через эдитор связать их с настроенными GUI элементами на сцене... если я всё правильно понял.
А в скрипте уже работаешь с переменными как обычно..
Glow Asteroids Game
Happy Chair
Аватара пользователя
eonyanov
UNITрон
 
Сообщения: 298
Зарегистрирован: 22 авг 2014, 10:28

Re: InputField и Text

Сообщение djon801 14 янв 2015, 09:53

zomgzufall писал(а):С кнопками вроде разобрался. А вот с полем ввода и текстом пока непонятки.
Подскажите, пожалуйста, как в новом UI сделать следующее:
Синтаксис:
Используется csharp
public string curip; // Текущий ip в локальной сети.
public string ip; // Ip который я сам буду вводить.

private void Start () {
curip = Network.player.ipAddress;
}

private void OnGUI() {
GUI.Label(new Rect(0, 150, 1920, 108), "Moй ip: "+curip); // Текущий ip нужно вывести в Text.
ip = GUI.TextField(new Rect(710, 230, 500, 108), 15); // А это нужно ввести в InputField...

if(GUI.Button(new Rect(460,600,1000,216), "Присоедениться")) { // ... и при нажатии этой кнопки использовать значение которjе мы ввели в InputField
Network.Connect( ip, Multiplayer.networkPort );
}
}
 


Кнопку то я понял как сделать, а вот как использовать переменные в тексте и поле ввода в новом UI не пойму.
В комментариях пояснил, что требуется.


вот так
Синтаксис:
Используется csharp
using UnityEngine;
using System.Collections;
using UnityEngine.UI;

public class NewBehaviourScript : MonoBehaviour {

    public string curip; // Текущий ip в локальной сети.
    public string ip; // Ip который я сам буду вводить.
    private void Start()
    {
        curip = Network.player.ipAddress;
    }
       
        // Update is called once per frame
        void Update ()
    {
       GameObject.Find("InputField").GetComponent<InputField>().text =  curip;
       ip = GameObject.Find("InputField").GetComponent<InputField>().text ;
       
        }

    void Button_ui() // это вешаешь в переменную на кнопке сщзданной в UI
    {
        Network.Connect(ip, Multiplayer.networkPort);
    }
}
 
Аватара пользователя
djon801
Старожил
 
Сообщения: 506
Зарегистрирован: 03 май 2014, 15:08


Вернуться в uGUI

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

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