Giochi Pseudo-3D

3

Index

Tagged

Attached Files

The following files have been attached to this tutorial:

.capx

Stats

8,000 visits, 10,070 views

Tools

License

This tutorial is licensed under CC BY 4.0. Please refer to the license text if you wish to reuse, share or remix the content contained within this tutorial.

Published on 4 Jan, 2014. Last updated 25 Feb, 2019

La rotazione è solitamente ottenuta applicando una matrice di trasformazione. X, Y, e Z sono "input" nella matrice, e il risultato della "uscita" è una tradotti coordinate. C'è un sacco di materiale su Google se si cerca, ma io sto solo andando a concentrarmi a girare solo attorno all'asse Y (per rotare a destra o a sinistra):

Creiamo una funzione 'rotateXZ':

| rotateXZ(vectorX, vectorZ, angolo)

|     nuovoX = vectorX[]cos(angolo) - vectorZ[]sin(angolo)

|     nuovoZ = vectorX[]sin(angolo) + vectorZ[]cos(angolo)

Supponendo che l'angolo di 0 sta guardando dritto avanti, cerchiamo di rotare l'oggetto cerchio a sinistra di 45 ° (se a destra, sarebbe -45):

| rotateXZ(-100, 200, 45) = -212.132, 70.711 (x,z)

Così, dopo aver girato di 45 ° a sinistra, nuova posizione dell'oggetto è ora (-212,71).

Ehi, che non era poi così male! :) Se siete abbastanza esperti per rotare XYZ, essere cauti di problemi di blocco del giunto cardanico (vedi Wikipedia), o leggere su della rotazione Quaternion. Per semplicità, per la semplice camminare a terra, basta usare angoli di Eulero (il metodo che ho appena spiegato).

Non vedo l'ora di vedere alcune persone cercano di tradurre questo in un gioco! ;) Io vado a fare un esempio screencast di questo, e di fornire un progetto di origine, quindi rimanete sintonizzati! (c'è una casella di controllo a sinistra per seguire me)

Aggiornamento: Ho un gioco esempio adesso! 8) Trova qui:

http://www.scirra.com/arcade/example/4788/pseudo-3d-game-test

.CAPX
  • 0 Comments

Want to leave a comment? Login or Register an account!