42 Video
238 minuti
Ho già insegnato come farlo utilizzando riquadri limite collisioni, ma so che non è appropriato. So che proprio non è la più bella di scrittura e più gestibile, quindi vedremo un sistema migliore di quello che vi piace di più e che è quello che useremo, che è Box2D. Quella biblioteca che serve per simulare 2D fisica, come la gravità, collisioni, le azioni, le forze, le cose che saltano, si muove a una velocità ... tutto ciò che lo faccia Box2d
e dobbiamo fare noi stessi, e va bene. Come suggerisce il nome, serve solo a fisica Box2D 2D. Con questo è vero, perché noi facciamo il giocatore a destra in avanti a sinistra, ma in un mondo 3D non sembra buona. Perchè funziona bene qui, ma non sempre. Come Box2D ha un proprio codice di sistema, Io passare a un nuovo schermo verrà creato ora. E poi vedremo come combinare ciò che facciamo con Box2D con quello che abbiamo fatto con Scene2D,
che è dove la bellezza è. Per ora creo un ragazzo schermo BaseScreen vuoto, e creerò direttamente il costruttore. Questo display ha bisogno, come qualsiasi display, carichiamo le cose, ora vedremo cosa deve essere caricata. Sarà inoltre necessario rimuovere le cose ... che ci sarà nel dispose (). Dovremo rendere le cose, ovviamente. E vorrei dire niente di più, ma staremo a vedere come si evolve la cosa come. Iniziamo facendo una chiara,
perché vogliamo dimostrare che questo funziona: si sa che se non mettiamo le chiare, cose molto strane possono accadere. Vediamo se questo sembra nero, e se sembra nero, super. Come possiamo iniziare a lavorare con Box2D? Si suonerà strano, ma la prima cosa che facciamo è creare un mondo così, chi non vuole la cosa. Non credete mondi tutti i giorni. Creo un'istanza del mondo, chiamato mondo. Fortunatamente, il JDK non porta nulla chiamato World
in modo da rendere un'importazione alla classe di abbastanza badlogic. Cerchiamo di un'istanza del mondo, e io passarlo al costruttore. Diventa il mondo! Esso richiede due parametri: gravità e un valore booleano chiamato doSleep. Vado con la gravità. Non so quando è stata l'ultima volta che avete preso un libro di fisica, Spero di no molto tempo fa, ma so che nel mondo, e in tutto l'universo, senza gravità. Sul nostro pianeta, j -9,81 m / s. Questa è la forza di attrazione
esercitata dalla terra sui corpi, che li fa cadere ... il caso è che Box2D ha la sua forza di gravità, e inoltre ci consente di mettere a gravità ci interessa, anche tenendo conto della gravità alto, in basso, i bordi, quelle cose che andrebbero contro la fisica del nostro mondo, è possibile perché Box2D E 'il nostro centro di creatività. Tuttavia, la creatività come lo abbiamo lasciato a casa, avrò una tabella che ha un peso come quello della terra.
X = 0, Y = -9,81. Non fare così tanto con calcolo floating dirò -10 e non si nota la differenza. Il secondo parameter'm intenzione di dirvi un vero e proprio. Perché? Perché doSleep è un parametro utilizzato per comunicare al sistema quando non c'è niente di simulare, non fare nulla, che va bene perché consente di risparmiare tempo di CPU. Nessun motivo per non dare vero, ma per quello che abbiamo, dovrebbe passare vero. di classe mondiale è una disposeable quindi non dimenticare
chiamare smaltire. Ora, una volta che abbiamo creato il mondo, ci sarà la simulazione. Per simulare un mondo, dobbiamo chiedere al renderer che per quello è il metodo che si svolgerà a 60 volte al secondo, un passo. Ha due parametri: TimeStep, utilizzati per indicare quanto tempo abbiamo per simulare. Con il tempo passerò delta, ma poi parlare perché questa non è una buona idea. E, infine, velocityIterations e positionIterations,
E 'usato per dire quante volte si deve scorrere telaio. Più alto è il valore, migliore sarà simulato, ma più tempo di CPU che useremo. Qui mi limiterò a fornire i parametri 6 e 2. Perché? In parte perché la documentazione dice. Ma cosa e perché? Perché nessuno spiega che cosa fa, così io non lo sapevo. documentazione Box2D presumibilmente spiegato, ma credetemi, non spiega. Usiamo 6 e 2 perché ci crederemo, ma tutto ciò che
sapere è che maggiore, le prestazioni peggiori anche meglio itererà. Abbiamo creato il nostro mondo. Vediamo, per vedere quello che fa. Che scuro va tutto bene? Bene, perché manca qualcosa per far sembrare il mondo. E poi, devono ancora mettere le cose. Quindi cerchiamo di risolvere questi problemi uno a uno.
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.