[Tutorial] Keyboard e suas funcionalidades

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Tutorial] Keyboard e suas funcionalidades

Mensagem por Thiago_o_programador em Sab 25 Ago 2012, 00:03

Nome: Visão geral sobre Keyboards
Nível de dificuldade: iniciante
Sobre o que falaremos? Será mais do que um tutorial, na minha opinião essa não é nem a palavra certa, acho que está mais para uma explanação geral sobre as funções que englobam as famosas Keyboard's. Espero que gostem.
Requerimentos: Game Maker 4.1 ou superior

Keyboard


Oi pessoal, aqui estou eu de novo, e hoje, vou falar um pouco sobre todas as funções que falarem nem que sejam só um pouco sobre Keyboard.

Utilidades


Bem, as keyboard são funções (e algumas variáveis) que servem para setar/checar teclas pressionadas.
Por ex.:
No lugar de se adicionar um evento Key press eu poderia usar uma keyboard para checar isso no proprio evento STEP, ou durante a execução de outro evento, poupando assim tempo.
Nós também poderiamos estar usando as keyboards para simular uma tecla apertada. Dentre várias outras utilidades.

Mãos a obra!


Uma das keyboard's mais importantes na minha opinião é a "Keyboard_check(key)", ela checa se uma determinada tecla esta sendo pressionada, exemplo de como pode ser usada:
Código:
if keyboard_check(vk_left) x-=4;
Em palavras, se a tecla LEFT estiver pressionada ele ira mover-se 4 pixeis.

Outra função bem interessante é a "keyboard_check_pressed(key)", ela pode ser usada para checar se uma tecla foi pressionada. Exemplo de utilização:
Código:
if keyboard_check_pressed(vk_right) x+=4;
No caso se for pressionada a tecla RIGHT então o objeto ira mover-se 4 pixeis.

Ainda da familia dos check's nós temos o "keyboard_check_released(key)", como o proprio nome já diz, ela checa se uma tecla foi solta. Exemplo:
Código:
if keyboard_check_released(vk_up) vspeed=0;
Se for solta a tecla UP então o objeto vai parar de subir.

Agora nós ainda temos "keyboard_check_direct(key)", ele seria igual ao "keyboard_check(key)" se não fosse por um detalhe: Ele checa diretamente no hardware se a condição é verdadeira. O uso dela pode ser o mesmo do "keyboard_check(key)" por exemplo.

Obs.: Todas essas quatro condições geralmente são usados assim, condições para setar alguma ação.

Outra função que pode ser util (Nunca se sabe né?) é a "keyboard_clear(key)", ela limpa o estado da tecla. Isso significa que ele não vai mais gerar eventos de teclado até que ele começa a repetir.

Nós também podemos usar funções para simular que uma tecla foi apertada/solta com as funções: (respectivamente) "keyboard_key_press(key)", "keyboard_key_release(key)". Ambas são usadas não para checar, e sim para executar uma ação, ex.:
Código:
if real(keyboard_string)>10 {keyboard_key_press(vk_backspace)}
Vai apagar os caracteres como se o utilizador realmente estivesse apertando backspace.

Por fim "keyboard_set_numlock(on)" serve para ligar/desligar a opção de uso das teclas pode-se adicionar true/false.

Finalizando...


Bem gente é isso, só listei e expliquei as funções basicas da lista de funções envolvendo keyboard's, mas é isso, espero que tenham gostado,

Até a próxima!

Flw's!

Thiago_o_programador

Ranking : Nota D
Número de Mensagens : 709
Idade : 19
Data de inscrição : 14/05/2009
Notas recebidas : D - C - D - C
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 1

http://www.jogosdahora.maisblog.net

Voltar ao Topo Ir em baixo

Re: [Tutorial] Keyboard e suas funcionalidades

Mensagem por moisesBR em Sab 25 Ago 2012, 09:53

"keyboard_set_numlock(on)" serve para ligar/desligar a opção de uso das teclas pode-se adicionar true/false.
Nunca tinha levado isso em conta, assim que resolver o meu problema de pause vou inserir isto como condição para congelar ou não, a tela e acontecimentos. Valeu por lembrar disso.

Já pensei falar sobre isso, e notei que esse seu tuto está muito... como direi...(?)... relapso.... vago. o que proponho a seguir, não diria ser uma correção, mas uma contribuição, até por que ainda não domino totalmente essas funções de keyboard. Mas você poderia aproveitar e fazer uns testes, verificar o que se tem sobre o assunto no fórum e tirar suas conclusões. Daí então editar seu tópico, e colcar o que está faltando! tipo... detalhar tipo uma tabela, as condições de uso dessas funções e etc. No seu tuto, você está dizendo o que já foi dito! Tudo bem, defendo assíduamente modos de ensinar diferentes.
Nas minhas experiências recentes com essas funções constatei que:

keyboard_check() = Repetitivo. Ao manter pressionado ira se repetir continuamente! Este é o que mais usamos para movimentar nosso player, e seria ideal pra jogos de tiro, se não fosse sua repetição muito rápida levando a dar lag, mas resolvemos limitando a quantidade por alarms ou outros meios.

keyboard_check_pressed() = Não repete. Esse eu recomendo! aperta-se uma vez e se quiser repetir, tem que soltar e apertar de novo! Uso ele para tiros únicos e para cliques com o mouse. E assim evitamos usar o released.

O que eu quero dizer:
que você coloque esse tipo de informação também! Gostaria de saber sobre outras funções.

moisesBR

Número de Mensagens : 873
Idade : 40
Data de inscrição : 24/10/2009
Reputação : 14
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

http://inprovise.blogspot.com/

Voltar ao Topo Ir em baixo

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

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum