Concatenazione Tasti
Introduzione
Su richiesta ho creato questo tutorial per la realizzazione di "mosse speciali"..
Ricordate il buon vecchio Street Fighter?
Ecco l'obbiettivo è qualcosa del genere
Questo tutorial non è rivolto a chi non conosce le basi di RPG Maker ma non richiede nemmeno conoscenza avanzate quindi lo catalogherei come un livello di difficoltà "Intermedio"
Per: RPG Maker VxAce (ma, data la semplicità, credo che vada bene anche per altri tool).
Autore: HROT.
Descrizione: Verifica la pressione di una sequenza di tasti.
Ultima modifica: 01/06/2016.
Tutorial
Per verificare se un tasto è stato premuto o meno basta semplicemente usare una condizione
Purtroppo la condizione verifica solo se il tasto è premuto in quel esatto istante, se viene rilasciato un istante prima o premuto un istante dopo (parliamo di centesimi di secondo) la condizione risulterà falsa
Un altro problema è dovuto al fatto che: sapere se un tasto è stato premuto non esclude che altri tasti siano premuti contemporaneamente
..quindi bisogna verificare, contemporaneamente, la pressione di tutti i tasti che si vuole escludere
Per non dilungarmi troppo con l'esempio le combinazioni di questo tutorial prevedono solo l'utilizzo delle 4 frecce direzionali (←↑→↓)..
Data la semplicità dell'esempio sarà facile espandere questo concetto a tutti i tasti di cui potete disporre (infatti ci sono script che permettono di usare tutta la tastiera!)
Anche se qui non sono contemplate, partendo da questo tutorial, con un pò di buon senso sarà facile aggiungere pressioni multiple (→+↓=↘)o pressioni prolungate (⇐⇑⇒⇓)
L'evento non è complicato ma, data la sua lunghezza, poteva risultare difficile comprenderlo nella sua interezza e ho preferito suddividerlo in blocchi per facilitarne la lettura
Partendo da sinistra vediamo il corpo principale dell'evento, questo può partire in seguito ad un azione (come in questo caso) oppure la combo può essere inserita in un processo parallelo, così da essere disponibile in un qualunque momento
La pressione di ogni tasto è stata mappata tramite eventi comuni, questo significa che una volta creato il primo evento comune, facendo lievissime modifiche sarà possibile duplicarlo e aggiungere tutti i tasti che desiderate
Il blocco di istruzioni centrale è un ciclo in configurazione "for" che si ripete fino all'esaurimento del tempo
A differenza del classico ciclo in configurazione "for" l'inizializzazione del contatore "TIME" non è appena prima del ciclo, questo perchè nell'esempio specifico il tempo ("TIME") è comune a tutta la combo e non solo alla pressione di un singolo tasto, infatti il contatore che verifica la pressione del tasto successivo partirà sfruttando il tempo residuo
Se il tempo esaurisce prima che il tasto venga premuto lo switch "FALLITO" passa in ON decretando così il fallimento della combo
A destra in alto abbiamo la condizione che verifica quali tasti vengono premuti nel lasso di tempo scandito dal precedente ciclo
Il ciclo viene interrotto sia dalla pressione del tasto giusto che da quelli sbagliati, ma nel caso in cui il tasto sia sbagliato lo switch "FALLITO" passa in ON
(il blocco di istruzioni evidenziato serve a darvi un idea di quali sono le istruzioni da aggiungere per assicurarsi che altri tasti non vengano premuti)
Quando la verifica di un tasto termina si passerebbe istantaneamente alla verifica del tasto successivo.. Purtroppo l'evento si muove molto più velocemente delle nostre dita,
questo implica che, il successivo controllo, potrebbe iniziare a verificare il prossimo tasto della combo mentre noi non abbiamo ancora rilasciato il precedente
Per risolvere questo problema basta aggiungere un ulteriore verifica
A destra in basso si nota un semplice ciclo che si ripete relativamente all'infinito (fino all'esaurimento del tempo) e permette di proseguire solo se il tasto è stato rilasciato
Ovviamente se il tasto non viene rilasciato e il tempo esaurisce.. la combo fallirà
Spero che il tutorial possa esservi utile..
Per domande resto a disposizione
Modificato da HROT, 02 June 2016 - 01:27 AM.