Правильный способ Unity добавления представлений дисплея ⇐ C#

Место общения программистов C#
Anonymous
Правильный способ Unity добавления представлений дисплея

Сообщение Anonymous »

Я просто хотел спросить, как правильно создавать и отображать представление в Unity. Я только новичок в этом и недавно просмотрел руководства по написанию сценариев и узнал о создании графического пользовательского интерфейса на лету, который включает в себя кнопки, текстовые поля редактирования и другие представления, но не уверен, как мне действительно следует реализовать его так, как он оптимизирован. и не повлияет на производительность приложений. До сих пор я пытался создать EditText, в котором я установил его на MainCamera для отображения, который я планирую использовать повторно, так что в случае, если мне нужно добавить больше EditText в приложение, я могу просто перетащить скрипт. Вот код:

Код: Выделить всё

using UnityEngine;
using System.Collections;

public class EditText : MonoBehaviour {

public int width = 150;
public int height = 25;
public int x_position = 0;
public int y_position = 0;
public string text = "Hello World";
public Position position = Position.unset;
public int text_size = 15;

public enum Position{unset,center_screen, center_vertical, center_horizontal};

void OnGUI () {
setPosition ();

GUI.skin.textArea.fontSize = text_size;
GUI.color = Color.red;
}

private void setPosition(){
switch (position) {
case Position.center_screen:
GUI.TextArea (new Rect (Screen.width/2 - width/2, Screen.height/2 - height/2, width, height), text);
GUI.backgroundColor = Color.white;
break;
case Position.center_vertical:
GUI.TextArea (new Rect (x_position, Screen.height/2 - height/2, width, height), text);
GUI.backgroundColor = Color.white;
break;
case Position.center_horizontal:
GUI.TextArea (new Rect (Screen.width/2 - width/2, y_position, width, height), text);
GUI.backgroundColor = Color.white;
break;
default:
GUI.TextArea (new Rect (x_position, y_position, width, height), text);
GUI.backgroundColor = Color.white;
break;
}
}

}
Вопрос в том, правильно ли я это делаю или мне следует остановиться и использовать другую реализацию? Поскольку я действительно хотел, чтобы его можно было использовать повторно, как и представления Android. Кроме того, есть ли какая-либо другая библиотека или скрипты, которые я могу использовать для достижения этой цели, чтобы не изобретать велосипед для этого?

Кстати, я также искал NGUI, хотя я не уверен, подойдет ли это моим потребностям или нет. Поскольку, когда я пытался создать UILabel, у компонента было всего несколько опций, и я не совсем уверен, как мне его использовать.

Подробнее здесь: https://stackoverflow.com/questions/246 ... play-views

Вернуться в «C#»