Aula gui
-
Upload
marcos-batista -
Category
Education
-
view
147 -
download
0
description
Transcript of Aula gui
Projeto de jogos RADClasse GUI: Menus e Interfaces
Augusto Bülow
Unity 3D• Classe GUI todos recursos para interfaces de
tela (de forma facilitada):• Box (caixas de menu)• Menus (botões)• Labels (textos simples)• TextField (entrada de textos)• DrawTexture (apresentação de imagens)• ...
Unity 3D• Renderização GUI – evento pos render do
mundo virtual 3D• Elementos GUI colocados sobre (a frente) dos
elementos de jogo• TODOS objetos podem referenciar a classe
GUI e compor / exibir elementos de tela
function OnGUI () {
....
}
Unity 3D• BOX – Caixas de menus, caixas para
diálogos do jogo• Parâmetros
• Posição e dimensão: Rect(x,y,sizex,sizey)• Texto, título da Box
function OnGUI () {GUI.Box(Rect (0, 0,
400,200),“Título"); }
Unity 3D• LABEL – texto simples para exibição na tela• Parâmetros
• Posição e dimensão: Rect(x,y,sizex,sizey)
• Tamanho é respeitado pelo texto, sendo quebrado (automaticamente) dentro da área
• Texto
var numero = 1.3;var texto1 = “Variável String”function OnGUI () {
GUI.Label(Rect (0, 0, 400,200),“Qualquer texto");
//permite uso de variáveis string + numéricasGUI.Label(Rect (0, 20, 400,200), texto1 +
numero); }
Unity 3D• BUTTON – Botões • Parâmetros
• Posição e dimensão: Rect(x,y,sizex,sizey)
• Texto
• Código botão usado para exibição e avaliação do click / uso ao mesmo tempo
function OnGUI () {
if (GUI.Button( Rect(10, 10, 100,20),“Texto Botão“)) {
....
// se botão pressionado = código
}
}
Unity 3D– TEXTFIELD : caixa para entrada de textos– Parâmetros
– Posição e dimensão: Rect(x,y,sizex,sizey)
– String (variável) para entrada / input
– Número máximo de caracteres
var nome = “”;function OnGUI () {
GUI.Label(Rect (0, 0, 400,200),“Digite seu nome:");
nome = GUI.TextField (Rect (0, 20, 100, 30), nome, 25);
// TextField – retorna valor para variável String}
Unity 3D– DRAWTEXTURE: exibir imagens (BMPs) na tela– Parâmetros
– Posição e dimensão: Rect(x,y,sizex,sizey)
– Imagem (Texture2D) para exibição
var imagem_menu : Texture2D; //declara BMP – seta via Inspector
function OnGUI () {
sizex = imagem_menu.width; //possível pegar dimensões da imagem
sizey = imagem_menu.height;
GUI.DrawTexture(Rect(posx,posy,sizex,sizey), imagem_menu);
}
Unity 3D– Elementos apresentados permitem construção dos
menus que precisamos– Classe GUI mais completa, checar documentação
(manual) para controles extras:
– Toggle, TextArea, VerticalSlider ...
– GUI permite customização por meio de GUISkins– GUISkin: definição geral de estilo do menu, incluindo
fontes, imagens, cores, etc, definíveis por elemento.
Unity 3D– Criamos uma nova GUISkin
para criarmos nosso “design” de menus
– Assets -> Create -> GUISkin
Unity 3D– Por código, declaramos as GUISkins e determinamos
qual Skin deve ser usada antes de criar os elementos GUI
var Skin1 : GUISkin;
var Skin2 : GUISkin; //defino via Inspector as Skins
function OnGUI () {
GUI.skin = Skin1;
GUI.Label(Rect (0, 0, 400,200),“Texto com Skin1");
GUI.skin = Skin2;
GUI.Label(Rect (0, 20, 400,200),“Texto com Skin2");
}