42 Video
238 minuti
Buone notizie per i puristi: questo è l'ultimo video in cui il codice sarà questa sporca. Ma prima c'è una questione di rivedere. Voucher, ora ho bene la gara, posso saltare e tutto il resto. Ma la maggior parte noioso Geometria andare Dash, il personaggio non si muove. Vediamo come possiamo spostare la personaggio sullo schermo. Per fare questo prima di ogni altra cosa si muoverà la macchina fotografica un po ', in modo da poter vedere che se cambio le sue proprietà da 16: 9, si sono separati di più
spiedini, perché voglio dare un po 'di spazio per quello che faccio ora. Ti faccio vedere come possiamo fare per rendere il movimento personaggio. Noi qui spiedini e siamo interessati al personaggio si sposta sempre verso destra. L'idea, come nel Dash La geometria è il salto carattere per evitare di prendere l'Pinazo. Se si tocca le punte dobbiamo considerare che il personaggio è morto e il gioco è finito. Ma dobbiamo trovare un modo
farlo muovere. Per fare questo, Box2d nella classe corpo offre un metodo chiamato setLinearVelocity, con la quale siamo in grado di cambiare la velocità lineare di un corpo. Siamo in grado di passare come un vettore o come componenti X, Y, ma in qualche modo possiamo giocare con il lettore velocità istantanea o qualsiasi altro organismo in un dato momento. Nel mio caso voglio regolare la componente della velocità X velocità o X per sempre
per spostarsi verso destra. E la velocità non interessa mi toccare, perché quando lo facciamo è impulsi di salto o forze che provocano il cambiamento velocità verticale, perché è l'unico gioco, quindi dovrebbe rimanere come è il componente verticale. Posso solo cambiare l'orizzontale. Questo non è difficile da ottenere, ottengo il valore della velocità e getLinearVelocity, e quindi utilizzare questo parametro per modificare la velocità orizzontale
e mettere 8 m / s, mantenendo la velocità verticale di continuare ad occuparsi quel momento, perché come ho detto non mi interessa. Tra il salto e l'aggiornamento del mondo questo cambierà tutto il tempo e non vogliono toccare. Ma con questo cambiamento, il carattere e spostarsi. Vedi? L'unico problema è che va molto veloce. Io tratto questa collisione di colpire quando si deve smettere di muoversi perché non ha la grazia. Abbiamo già perso, non ha senso. Così approfittando
Questo è l'ultimo video prima cleaning'll pasticcio ancora di più e introdurrà una variabile chiamata joeVivo di dirci se è vivo o no. Mentre ancora in vita, siamo in grado di continuare a muoversi. Così ora posso mettere questo codice in un controllo, in modo che ora muoversi solo se vivo, e quello che posso fare è un altro contatto per assicurare che in qualche modo si è scontrato con uno spiedo, e se si colpisce uno spiedino interrompere l'animazione
Joe e assicurarsi di essere vivi. Ancora una volta, ho potuto fare con le variabili di questo stile, ma più pulito per controllare questo è di una forma UserData. Con loro siamo in grado di associare qualsiasi oggetto a qualsiasi cosa Box2D, è un corpo, un appuntamento fisso ... per questo, i corpi hanno sempre un campo chiamato userData. Siamo in grado di ottenere con getUserData, o modificarlo setUserData. E come vedete, è possibile trascorrere un oggetto, qualsiasi cosa. Grazie a questo,
possiamo associare un oggetto, qualunque esso sia, e ottenere ciò che possiamo usare per ottenere e gestire le collisioni. Nel mio caso io gli farò passare stringhe per identificare il tipo o categoria è tutto. Ad esempio, minijoeBody sta per essere un giocatore, sueloBody sarà un pavimento o pinchoBody uno Spike. Ora che ci penso, come faccio collisioni con Fixtures, devono cambiare in atto,
gli infissi, non il corpo. Quindi lasciate che questo cambiamento di fissaggio ... E ora il minijoe Fixture è un giocatore, al piano terra e uno spiedino un picco. E ora posso vedere più elegantemente, per aggiornare il codice: se fixtureA.getUserData () è uguale ( 'Player') && fixtureB.getUserData () uguale ( 'Piano'), .. o viceversa, si sa. il fissaggio A, la sua userData è piano e fissaggio B, il vostro userData è Player. Lascio questo dato che era, fare una corsa, e mostro come
fermarsi quando si crash. ... Va bene, mi dispiace, se non saltare ovvio che non possiamo controllare. Guardate cosa ha saltato bene. Va bene, quindi dovremo fare lo stesso, ma ora cambiare le istanze del pavimento da Spike. E quando il giocatore che causa collisione con uno spiedo, joeVivo è impostata su false. Cioè, si smette di muoversi. I risultati sono immediati, l'istante in cui ho messo un falso e non la velocità è aggiornato e rimane incollato. Questo è un buon momento per mostrare
un set schermata 'Hai perso' o mostrare qualcosa che dice che hai perso, suonando un rumore. Questo è un modo per insegnare come giocare con la velocità. Si vede che è istantanea. Così fa un piccolo salto, ma non si muove. Questo è come possiamo rendere le collisioni tra picchi di fermare lo spostamento del giocatore. Inizia a organizzare questo un po 'perché mi integrare Scene2D.
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.