Projeto de jogos RAD 
Classe 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éricas 
GUI.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"); 
}

Mais conteúdo relacionado

PPT
Aula menus
PPT
PPT
Introdução ao desenvolvimento de games com unity3 d
PPT
Aula maps
PDF
Apostila minicurso-unity
PDF
Desenvolvimento de jogos unity 3 d
PPT
Aula4 debug
PDF
Curso Unity3D
Aula menus
Introdução ao desenvolvimento de games com unity3 d
Aula maps
Apostila minicurso-unity
Desenvolvimento de jogos unity 3 d
Aula4 debug
Curso Unity3D

Semelhante a Aula gui (10)

PPT
Aula1 intro
PDF
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
PDF
Desenvolvimento de jogos para android com andengine
PDF
Apostila unity3dv033
PDF
Construção de jogos com o motor unity3d (2013)
PDF
Workshops de Unity
PPTX
Construção de jogos com o motor unity3 d
PPTX
Unity - Programação Orientada a Objetos. Aula 1.
PDF
Unity3d dev in
PDF
Introdução ao Desenvolvimento de Jogos
Aula1 intro
TDC2011 - Desenvolvimento de jogos com Javascript e HTML5
Desenvolvimento de jogos para android com andengine
Apostila unity3dv033
Construção de jogos com o motor unity3d (2013)
Workshops de Unity
Construção de jogos com o motor unity3 d
Unity - Programação Orientada a Objetos. Aula 1.
Unity3d dev in
Introdução ao Desenvolvimento de Jogos
Anúncio

Mais de Marcos Batista (19)

PPT
Aula terrain
PPT
Aula som
PPT
Aula sky
PPT
Aula particulas
PPT
Aula modelos
PPT
Aula ia2
PPT
PPT
Aula disparos
ODP
Aula disparos
PPT
Aula cameras
PPT
Aula anima-modelos
PPT
Aula anima1
PPT
Aula9 material
PPT
Aula8 instancias
PPT
Aula7 velocidade
PPT
Aula6 colisao2
PPT
Aula5 colisao1
PPT
Aula3 input
PPT
Aula2 intro2
Aula terrain
Aula som
Aula sky
Aula particulas
Aula modelos
Aula ia2
Aula disparos
Aula disparos
Aula cameras
Aula anima-modelos
Aula anima1
Aula9 material
Aula8 instancias
Aula7 velocidade
Aula6 colisao2
Aula5 colisao1
Aula3 input
Aula2 intro2
Anúncio

Último (20)

PPTX
entorseestadodechoque. Aula de primeiros socorros
PPTX
125519 - Aula 2 - Riqueza e diversidade povos indígenas na América Portuguesa...
PDF
morfologia5.pdfllllllllllllllllllllllllllll
PPTX
Primeiros Socorros. Aula 1 VEROUVIRSENTIR.pptx
PDF
DESCCARTE DE MATERIAIS BIOLOGICO ESTUDO DA ODONTOLOGIA
PPTX
SEGURANÇA, MEIO AMBIENTE E SAÚDE Aula 1.pptx
PPTX
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
PDF
Historia da Gastronomia Mundial por Daianna Marques dos Santos
PPT
1ª Telefonia Fixa Padrao Novo Jailton 2012_22.ppt
PPTX
AULA METodologia MODIFIC PART 1 MSC.pptx
PPSX
2. A Cultura do Senado - HistóriaCArtes.ppsx
PPSX
4. A Cultura da Catedral - HistóriaCArtes .ppsx
PPTX
NR 5 Treinamento completo gestão CIPA.pptx
PDF
Historia-da-Psicologia-Rumos-e-percursos.pdf
PPTX
4. A cultura do cinema e as vanguardas.pptx
PPTX
Slides Lição 8, CPAD, Uma Igreja que Enfrenta os seus Problemas, 3Tr25.pptx
PPT
Elementos constituintes do esquema argumentativo (tese, argumento, tema, pont...
PPTX
AULA 01 - INTRODUÇÃO AO ATENDIMENTO HUMANIZADO.pptx
PPTX
REVISA-GOIAS-6o-ANO-LP-3o-BIMESTRE-PPT.pptx
PPTX
matriaesuastransformaes-1ano-230402203238-f3b10049.pptx
entorseestadodechoque. Aula de primeiros socorros
125519 - Aula 2 - Riqueza e diversidade povos indígenas na América Portuguesa...
morfologia5.pdfllllllllllllllllllllllllllll
Primeiros Socorros. Aula 1 VEROUVIRSENTIR.pptx
DESCCARTE DE MATERIAIS BIOLOGICO ESTUDO DA ODONTOLOGIA
SEGURANÇA, MEIO AMBIENTE E SAÚDE Aula 1.pptx
1. A Cultura do Palco - muitos palcos, um espetáculo.pptx
Historia da Gastronomia Mundial por Daianna Marques dos Santos
1ª Telefonia Fixa Padrao Novo Jailton 2012_22.ppt
AULA METodologia MODIFIC PART 1 MSC.pptx
2. A Cultura do Senado - HistóriaCArtes.ppsx
4. A Cultura da Catedral - HistóriaCArtes .ppsx
NR 5 Treinamento completo gestão CIPA.pptx
Historia-da-Psicologia-Rumos-e-percursos.pdf
4. A cultura do cinema e as vanguardas.pptx
Slides Lição 8, CPAD, Uma Igreja que Enfrenta os seus Problemas, 3Tr25.pptx
Elementos constituintes do esquema argumentativo (tese, argumento, tema, pont...
AULA 01 - INTRODUÇÃO AO ATENDIMENTO HUMANIZADO.pptx
REVISA-GOIAS-6o-ANO-LP-3o-BIMESTRE-PPT.pptx
matriaesuastransformaes-1ano-230402203238-f3b10049.pptx

Aula gui

  • 1. Projeto de jogos RAD Classe GUI: Menus e Interfaces Augusto Bülow
  • 2. 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) • ...
  • 3. 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 () { .... }
  • 4. 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"); }
  • 5. 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éricas GUI.Label(Rect (0, 20, 400,200), texto1 + numero); }
  • 6. 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 } }
  • 7. 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 }
  • 8. 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); }
  • 9. 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.
  • 10. Unity 3D – Criamos uma nova GUISkin para criarmos nosso “design” de menus – Assets -> Create -> GUISkin
  • 11. 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"); }