Classe: Input
Olá aspirantes a programadores. Hoje aprenderemos a criar condições de Apertar Teclas, utéis para sistemas dinâmicos.
Essa classe é a que dá sentido ao jogo, liberdade de controlar personagens através de comandos (teclas).
A Classe Input é a responsável pela entrada de dados do RGSS. As teclas suportadas são:
Direcionais:DOWN (Baixo), UP (CIMA), LEFT (Esquerda), RIGHT (Direita)
Família dos F:Do F5 ao F9
Teclas do Windows:SHIFT, CTRL, ALT
Botões do Joypad:A, B, C, X, Y, Z, L, R
Na configuração padrão...
A = SHIFT ou Z
B = ESC, X ou NUM 0 (Botão de Cancelar)
C = Space, Enter ou C (Botão de Confirmar)
X = A
Y = S
Z = D
L = Q, Page Up (Botão de 'Página Anterior')
R = W, Page Down (Botão de 'Proxima Página')
Sabendo agora de todas as teclas suportadas pelo RPG Maker e suas funções, vamos entrar no RGSS.
A maioria dos métodos (ações) da classe Input são predicativos, ou seja, verificam se aquela sentença é verdadeira ou falsa e retornam o resultado. Se retornado verdadeira, executará tal ação, que ficará ao seu gosto.
Há três maneiras de verificar o pressionar de teclas: Trigger? Press? e Repeat?
Todos esses métodos devem ter argumentos, especificando a tecla, onde a tecla é pertencente ao módulo Input, sendo assim, o argumento ficando:
- Código:
-
(Input::TECLA)
O
Input.trigger? verifica se a tecla
foi pressionada. A tecla deve vir em argumentos. Exemplo:
- Código:
-
if Input.trigger?(Input::F5)
print "Foi Pressionada F5"
else
print "Não foi pressionada F5"
end
Lê-se: Se a tecla F5 foi pressionada, mostre na tela: "Foi pressionada F5", caso contrário mostre: "Não foi pressionada F5".
O
Input.press? verifica se a tecla
está sendo pressionada. Se sim, retorna true e ocorre a ação. Exemplo:
- Código:
-
if Input.press?(Input::C)
print "Você está pressionando ENTER!"
else
print "Você não está pressionando ENTER!"
end
Lê-se: Se a tecla C está sendo pressionada então, mostre na tela: "Você está pressionando ENTER", caso contrário, mostre: "Você NÃO está pressionando ENTER!".
O
Input.repeat? verifica se a tecla está sendo pressionada repetidas vezes, ou seja, trigger x2 >
Exemplo:
- Código:
-
if Input.repeat?(Input::A)
puts "Hey! Não precisa ficar apertando repetidas vezes o SHIFT! Basta seguraaar!
else
puts "Hey! Aperte SHIFT duas ou mais vezes seguidas, okay?
end
Usando sua criatividade:Você pode fazer junções de input.trigger, para que algo aconteça, como por exemplo, uma habilidade em ABS, ou uma rasteira, isso fica a seu critério. A Sintaxe é:
- Código:
-
if Input.trigger?(Input::TECLA) and Input.trigger?(Input::TECLA)
action
end
É! Eu sei que você é espero e já deve ter percebido! A partícula
and numa condição faz com que só haja ação se as duas condições forem cumpridas. Use quantas você quiser :D
Outros Métodos:Input.update => Atualiza a entrada das teclas. Essencial para Scenes.
Bom pessoal, essa foi uma curta-aula, sobre uma coisa importantissima (e básica) no RGSS... Aguardem outras aulas! :D