O TEMA DO FÓRUM ESTÁ EM MANUTENÇÃO. FEEDBACKS AQUI: ACESSAR

(DestinyScript) 3 - Diferentes técnicas com as teclas.

Iniciado por Avenger_B7, 02/04/2014 às 15:33

Aulas Anteriores

1 - Criando a Tela de Título

2 - Salvar, Carregar, Iniciar e Sair





Download

Baixe a demo aqui!





Introdução

Uma das coisas mais incríveis que o Destiny permite fazer é utilizar a maioria das teclas do seu teclado. Isso é sensacional. Não te limita a usar o direcional, teclas de ação e teclas de chamar menu. Claro que você ainda pode usá-las porém há como diferenciar uma das outras mesmo que no maker elas tenham a mesma função. Por exemplo: antes não era possível chamar o menu só com o ESC. Era com o ESC, 0, X, etc. 8 ou 80. Ou chama com todos ou não chama com ninguém. Neste tutorial eu vou ensinar algumas das técnicas possíveis, lembrando que eu não sei todas, com os comandos do Destiny. Um comando não necessariamente é uma técnica. Agora, uma cadeia de comandos provavelmente vai desencadear uma técnica.
Antes do principal você deve saber alguns comandos.

$ Keyboard.GetKeyState(VK_X);


Esse comando assim não é nada. Nada mesmo. Se você botar para rodar o maker não faz nada e nem dá erro. Como ele é um "estado", ou seja, serve apenas para verificar o estado da tecla. Se está pressionada ou não. E caso tente forçá-la a ser pressionada por esse modo dará erro. Ele, se não me falha a memória, é um do tipo leitura, então serve somente para criarmos condições.
Vejamos o próximo exemplo.

$ if (Keyboard.GetKeyState(VK_X))
// Comandos;
endif;


Aqui a coisa muda. Nesse caso, eu verifico se a tecla X está pressionada. Se sim, ela irá rodar a série de comandos dentro desta condição. Se não, não fará nada porque não há ali um "else case".
$ if (Keyboard.GetKeyState(VK_X) == 0)
// Comandos;
endif;


Esse exemplo é o else case do exemplo acima. Quando você cria uma condição para verificar se a tecla tal é igual a 0 significa que você quer que alguma coisa aconteça quando ela não for pressionada.
Você deve estar se perguntando – ou não – porque, então, a primeira condição não verifica se ela é diferente de 0. Eu no começo usava assim: $ if (Keyboard.GetKeyState(VK_X) != 0), depois de um tempo eu testei com $ if (Keyboard.GetKeyState(VK_X) <> 0) e agora eu só uso $ if (Keyboard.GetKeyState(VK_X)). Todas as três condições dão o mesmo resultado. Lembrando que eu usei o X como tecla mas poderia ser qualquer outra letra do alfabeto, número, teclas especiais e os F's.
Há um outro comando que é muito interessante. Eu o descobri há pouco tempo. Ele faz justamente o que eu tentei fazer acima com o comando do tipo leitura. Ele força uma tecla. Tanto a ser pressionada quanto a ser liberada. Cuidado: Um comando desse em Processo Paralelo sem nenhuma condição para disparar faz um tremendo estrago.

$ Keyboard.SetKeyState(VK_X, KEYEVENTF_KEYDOWN);


Nesse comando, eu forço a tecla X a ser pressionada. No caso, o X e o DOWN são opcionais, você pode substituir X por qualquer outra constante aceitável e o DOWN por UP. Se usar o KEYDOWN, a tecla será pressionada. Caso use o KEYUP, a mesma tecla será liberada. Você pode combinar esses comandos caso queira que naquele momento duas ou mais teclas sejam pressionadas.


• Primeira Técnica: Disparar Projéteis.

Como agora você pode usar qualquer tecla do seu teclado todos vão abusar na hora dos projéteis. Seja utilizando o botão esquerdo do mouse como qualquer outra. Mas não é só fazer a condição e "pam" está pronto o sistema. Tem que seguir uma lógica e essa lógica está ligada a alguns pontos:
- Pressionar tecla S (por exemplo).
- Mover nas 4 direções.
- Só pode voltar a atirar quando chegar em algum ponto.

Veja a "Técnica do Projétil" na demo. Fale com o Soldado para isso.


• Pressionar e Soltar.

Também usada para criar projéteis mas cabe ao programador criar diversas situações para utilizar essa técnica.
Veja "Pressionar e Soltar" na demo. Fale com o Ninja para isso.

• Apenas clicar (efeito Test Your Might)

Essa é mais utilizada para criar barras com níveis como no caso do mini-game do Mortal Kombat além de usada em jogos do tipo Devil May Cry cujo sistema de batalha exige que a tecla seja diversas vezes apertada.
Veja "Efeito TYM" na demo. Fale com o Pirata para isso.





Conclusão

E é isso aí, chegamos ao final de mais um tutorial da série Destiny Script. Espero que tenham gostado e aprendido um pouco com ele. Até a próxima!
Unique Destiny | um novo conceito de RPG Maker 2000!

Nossa, que coincidência! Estava procurando um sistema assim, quando facilmente encontro seu tópico pela comunidade.

Obrigado por compartilhar AvengerB7!

hahaha' acho maneiro quando esse tipo de coisa acontece. Valeu pelo comentário, Lhu! Fico feliz que tenha ajudado. (:
Unique Destiny | um novo conceito de RPG Maker 2000!