InícioFAQBuscarMembrosGruposRegistrar-seConectar-se

Compartilhe | 
 

 Criando condições de Apertar Tecla

Ver o tópico anterior Ver o tópico seguinte Ir em baixo 
AutorMensagem
Bnezinho
Soldado
Soldado
avatar

Peixes Ocupação : Programador

MensagemAssunto: Criando condições de Apertar Tecla   Dom Jul 12, 2009 12:53 am

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
Voltar ao Topo Ir em baixo
 

Criando condições de Apertar Tecla

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo 

 Tópicos similares

+
Página 1 de 1

Permissão deste fórum:Você não pode responder aos tópicos neste fórum
Hacred Sall :: Centro de Operações :: Armazém :: Scripts :: Ajuda e tutoriais-
Ir para: