Nesta aula vamos aprender um pouco sobre Windows, que são as janelas do jogo.
Uma Window é uma classe, logo toda janela é um objeto, elas são um ótimo exemplo de porque utilizar classes, visto que há dezenas de janelas, e como elas têm muito em comum, é viável usar o conceito de orientação a objeto.
- Introdução
Definimos uma janela assim:
class Window_Teste < Window_Base
end
A classe mãe é a Window_Base, herdamos todos os métodos dela.
Agora vamos utilizar o método de início.
class Window_Teste < Window_Base
def initialize(x,y,w,h)
super(x,y,w,h)
end
end
O método initialize requer quatro argumentos, que são respectivamente posição x, posição y, largura e altura.
A palavra reservada super chama o método da classe mãe, nesse caso chamará o método initialize da classe Window_Base com os argumentos dados.
Crie um evento e chame o script
Window_Teste.new(10,10,200,200)
- Escrevendo textos
Agora vamos escrever um texto na nossa janela.
class Window_Teste < Window_Base
def initialize(x,y,w,h)
super(x,y,w,h)
draw_text(0,0,140,30,"Hello World")
end
end
Usa-se o método draw_text para escrever um texto. Os argumentos são os seguintes: posição x, posição y, largura do retângulo, altura do retângulo, texto
O retângulo é a área do texto.
Para fazer a janela ficar permanente e também ter interações utiliza-se as Scenes, conteúdo que veremos adiante.
- Mudando a cor
Para mudarmos a cor do texto, usa-se o método change_color
change_color(text_color(2))
change_color(Color.new(200,0,0))
O método text_color(n) retorna uma cor pré definida de acordo com a Windowskin, caso queira uma cor que não esteja disponível, use a classe Color e coloque os três argumentos RGB, de 0 a 255.
- Exemplo
Vamos colocar uma imagem na nossa janela.
class Window_Teste < Window_Base
def initialize(x,y,w,h)
super(x,y,w,h)
bitmap = Cache.battler("Assassin",0)
rect = Rect.new(0,0,bitmap.width,bitmap.height)
contents.blt(0,0,bitmap,rect)
end
end
Na quarta linha criamos uma Bitmap (classe das imagens e textos em geral) com o método battler do módulo Cache. O primeiro argumento é o nome do arquivo e o segundo a tonalidade.
Na quinta linha criamos um retângulo, que será a delimitação da imagem, a imagem fica dentro do retângulo. Os argumentos são os mesmos das janela, a diferença é que quando colocamos bitmap.width, bitmap.height não nos restrigimos a um valor número, o próprio programa se encarrega de pegar os valores.
Na sexta linha pegamos esse retângulo com a imagem e jogamos na janela. Os argumentos são posição x e y, imagem e o retângulo.
Você pode modificar os valores dos argumentos para entender melhor o que cada um faz.
Nenhum comentário:
Postar um comentário