42 Video
238 minuti
Per lavorare con eventi di input, libgdx ha una classe chiamata InputProcessor. Questa classe è controllato da libgdx all'ingresso e Funziona come ApplicationAdapter: si tratta di un evento di classe. Abbiamo scrivere il codice e lasciare che gli eventi libgdx la chiamata quando lo ritenga tempestivo. Non si controlla se viene premuto un tasto, cerchiamo chi ci libgdx notificare che è stato premuto un tasto.
Questo differenzia il sistema che abbiamo visto nel video precedente, sondaggi, che se non sta premendo quella chiave non è che il codice viene eseguito e il gioco è più veloce. Nel caso di InputProcessor ciò è che gli eventi saranno sguinzagliati in thread separati per non disturbare la codice principale. La prima cosa che voglio fare è creare il processore di input, e questo è qualcosa che dovrebbe essere in una classe separata,
Processore per esempio. Il mio processore di input deve implementare InputProcessor. Si tratta di una interfaccia, così ho obbligato ad attuare tutti i suoi metodi. Ci sono un sacco di metodi, li vedremo gradualmente. Alcuni sono giù e altri sono in su. Il basso utilizzato quando si comincia a toccare o toccare lo schermo, e sono utilizzati quando non riusciamo a farlo. Ad esempio, keyDown è l'evento che si innesca quando abbiamo iniziato premendo un tasto, per esempio quando abbiamo 'K'
e lasciare la 'K' basso ma non rilasciare il dito. Quando si rilascia il dito keyUp ripresa. Così siamo in grado di rilevare quando abbiamo iniziato pressatura e pressatura. Questo può servire a rendere un gioco in cui si desidera che il personaggio in avanti mentre si preme il tasto Destro e quando l'arresto viene rilasciato in avanti. Qui vi diciamo per muoversi, e qui noi diciamo che alla fine. Allo stesso modo con il touchdown e ritocco possiamo fare lo stesso, ma con il dito.
Touchdown si attiva quando si preme il dito, e quando si alzò ritocco. Abbiamo altri metodi interessanti come mouseMoved, che ci dice quando è spostando il mouse. Con questo possiamo comproabr se il mouse è in movimento. Questo non si attiva nei telefoni cellulari, perché non si sa dove il dito è sicuro che giochiamo. Abbiamo altro come touchDragged per rilevare quando stiamo trascinando il mouse o il dito sullo schermo, in modo da poter seguire un
movimento o di fare un gesto, o qualsiasi altra cosa. O keyTyped che rileva quando abbiamo cliccato un personaggio, come ad esempio A o B. in modo che se stiamo scrivendo lettere siamo in grado di rilevare più velocemente. Come si può vedere hanno un sacco di parametri, in modo da non voler avere colpito con esso, perché ci sono molti, ma iniziamo per coloro che hanno a che fare con il tocco, che è quello che ci interessa. Prima di tutto voglio eliminare questo, e come molti mi interesserà il cambiamento
InputProcessor da InputAdapter. Perché? Per quanto ApplicationAdapter, InputAdapter e qualsiasi scheda che fa è che implementa Interfaccia per noi, cioè, rimane un processore, ma non implementa i metodi che noi non implementare, e questo è molto conveniente. Vogliamo usare Touchdown, poi lo usiamo. Vogliamo usare ritocco, usarlo. Non useremo KeyDown, lasciarlo lì e non utilizzati.
Una caratteristica importante che forse vi state chiedendo circa i metodi di InputProcessor è il motivo per cui tutti booleano di ritorno. Questo è perché Booleano dice che se abbiamo fatto qualcosa in questo metodo, in modo che se torniamo falso ciò che diciamo è che non si è fatto nulla. E va bene così, perché libgdx se un altro processore deve partecipare a, è possibile determinare se, se non abbiamo fatto nulla, utilizzare il proprio codice per elaborare l'evento, o per cadere
o chiamare un altro processore ... che noi sempre faremo il codice sul touch, oppure il tasto o dove stanno andando a fare, dobbiamo ritornare vero per libgdx indicano che abbiamo elaborato l'evento. Touchdown e ritocco. Hanno quattro parametri qui. Sia stesso pozzo. screenY screenX e ti dirà dove abbiamo giocato. puntatore, dito indica come abbiamo giocato. Voi direte con quale dito? Sì, perché i telefoni sono tutti
giorno multitouch oggi, e si può cliccare con più dita contemporaneamente, ad esempio per fare il gesto di zoom. O per fare qualsiasi altro gesto, ma di solito accettano 4 o 5 dita senza problemi. Quando si preme lo schermo con un dito, il dito sarà 0, e se tenendo premuto il 0 stampa con un altro dito, che è il dito 1, e quindi fino a raggiungere il limite, ogni schermo ha la propria, perché non tutti buoni schermi.
Nel caso del desktop, se abbiamo un pulsante del mouse ci riporta quello che abbiamo pulsante del mouse cliccato, come la sinistra o la destra. Per la prova questo ho intenzione di fare è dire 'giocato nella posizione (screenX, screenY)' e 'stato utilizzato il pulsante (pulsante) dito (puntatore) e'. Come ho fatto del mio evento in un certo senso, torno vero solo così sai ho fatto cose. L'unica cosa che rimane è quello di collegare con il gioco principale.
Circa l'autore
Biografia: Analista Programmatore-in diverse lingue. piattaforme Tutor PREMIUM riconosciuti a livello mondiale come CodigoFacilito. articoli Editor Cristalab. Il mio canale YouTube è sponsorizzato dalla casa editrice ANAYA e LaTostadora. Mi piace spiegare in dettaglio e dare alcuni esempi per evitare ogni dubbio.