[youtube]https://www.youtube.com/watch?v=XHRxAhbvfjQ[/youtube]
Link do Vídeo:
Código:
https://youtu.be/XHRxAhbvfjQ
Está em fase de desenvolvimento e testes.
Provavelmente já existem plugins para está finalidade sem os problemas que estão apresentados logo abaixo.
Meu primeiro Plugin se basea completamente no uso de Javascript para navegadores, por isso existe alguma limitações devido ao sistema/core do Rpg Maker já existente, eu criei apenas como um atributo de Javascript diretamente no HTML do jogo:
Código:
<script type="text/javascript" src="KeysModule.js"></script>
Sobre o sistema:
Ele tem 3 métodos de teclas adicionais:
- keyDown: Para quando apertar uma tecla
- keyUp: Para quando soltar o keyDown após 1 segundo
- keyPress: Para manter a tecla segurada, não funciona com keyUp
Por exemplo, se você quiser criar um SpinAttack igual no Zelda, que o jogador tem que segurar a tecla de ataque para carregar e somente quando soltar ele usará a habilidade, você pode fazer de 2 maneiras.
Com keyDown e keyUP:
<>Comment: Spinattack - Loadding
<>If: Script: js_keyDown == "KeyJ"
<>Variable: [SpinAttack] += 1
:End
<>If: Script: js_keyUp == "KeyJ"
<>If: Variable[SpinAttack] => 500
<>Animation: ABS_SpinAttack
<>
:Else
<>Variable[SpinAttack] == 0
<>
:End
<>
:End
<>
Com keyPress:
<>If: Script: js_keyPress == "KeyJ"
<>Variable[SpinAttack] += 1
<>
:Else
<>If: Variable[SpinAttack] >= 500
<>Animation: ABS_SpinAttack
<>
:Else
<>Variable[SpinAttack] == 0
<>
:End
<>
:End
<>
As teclas de letras, números e do teclado numérico (Calculadora) funcionam com keyPress, porém teclas de função (F1,F2,F3...F12) e de combinação (Ctrl, Shift, etc) para não conflitarem com o sistema padrão do RpgMaker só podem ser usadas para keyDown.
Outro problema que provavelmente ocorrerá é no uso de caractéres especiais, como [Ç], [Ñ], [ß], [?], etc, isso por que cada país tem seu próprio layout de teclado padrão, ou seja, se algum jogador brasileiro ou português quiser jogador um jogo alemão que tenha usado a tecla [ß] ele não poderá, ou terá que ativar o suporte para este no painel de controle do Windows.
Eu usei o método "code" do evento de Javacript, pois era a maneira mais rápida e fácil de desenvolver o Plugin, porém nele segue somente o padrão norte-americano, por exemplo, [Ç] se torna [;] (ponto e virgula) e [;] se torna [/] (barra invertida pra direita).
Ainda preciso testar sistemas de ABS que usem combinações de teclas, como segurar uma tecla e apertar outra, o que é algo pouco usado, mas provavelmente alguém vai tentar ou precisar.
A idéia é está:
<>If: Script : js_keyPress == "KeyH"
<>If: Script : js_keyPress == "KeyJ"
<>Comment: Event Attack - Segurar [H] e apertar [J] para lançar magia da espada
<>
:End
<>
:End
<>