Iscriviti ora!   
 
Misteri e Segreti  Misteri e Segreti      5) Un RPG in XNA - Layers? No grazie,... 
 



 Menù

Forum
Chat
Nostradamus
Occulto
Satanismo
Stregoneria

 Ultimi post forum

partizione...
buon giorno,vorrei installare nel mio...

Come sta l'Italia?...
Senza far politica, a pelle, come sta...

Sfondo a...
Sto cercando di fare un gioco in 2D stile...

Com'è camera vostra?
Com'è camera vostra?   ________ ...

Il vostro gruppo...
Qual è il vostro gruppo (di qualsiasi...

La nostra galera...
Citazione:"[...] Suscitò scalpore il fatto...

Ed ecco a voi:...
 Su AAC è arrivato (solo per maschi)...

AAA Cercasi vinili
Cercasi vinili 33 giri preferibilmente in...

warhammer
c'è qulcuno che gioca a wwarhammer?my shit...

Memento
Avete mai visto questo film? Cosa ne...

Piccolissima idea...
Non so come mai mi è venuta questa idea: Si...

 


5) Un RPG in XNA - Layers? No grazie, preferisco lo ZOrder: Teoria - PARTE 2


 
5) Un RPG in XNA - Layers? No grazie, preferisco lo ZOrder: Teoria - PARTE 2

Adesso che abbiamo capito (per grandi linee) come funziona lo ZOrder, vediamo di applicarlo. Vi starete chiedendo: "Ok, so a cosa serve, come faccio ora a calcolarlo?". Per farlo dobbiamo ricorrere ad un po' di logica: supponiamo che il nostro schermo (intendo la finestra di gioco con schermo) sia 800×600 e che la parte inferiore dello schermo sia quella "più vicina" a noi e la parte iniziale dello schermo sia la parte "più lontana" come nello schema (GUARDATE LA FIGURA).
Il quadrato (rettangolo più che altro) rappresenta lo schermo di gioco.
Ma come facciamo a disegnare l'albero o il personaggio a quell'altezza? Modificando la Y dello sprite? Ma se il personaggio si trova a Y = 0 vuol dire che si trova nella parte più lontana dello schermo e quindi nell'ultima fascia dello ZOrder mentre se lo mettiamo a Y = 600 (altezza dello schermo) si trova alla parte più vicina dello schermo e quindi si trova "avanti" a tutto. Questo cosa vuol dire? Che la posizione è funzione della Y dello sprite. Quindi possiamo calcolare la fascia dello ZOrder in questo modo:
 
ZOrder = (Y + Altezza sprite) / Altezza Schermo

Bisogna aggiungere l'altezza dello sprite per il semplice motivo che la Y indica il vertice sinistro-alto dell'immagine, mentre per lo ZOrder  ci serve sapere la fine (il "piede") dello sprite. Ma non ci serve proprio il piede, ma il valore un po' superiore, poichè la fine dell'immagine indica la punta del piede (o magari può essere un immagine più lunga e quindi sfasare). Ci serve dunque sapere il punto del "tallone" dell'immagine:
 
ZOrder = (Y + Altezza Sprite ? NPixel) / Altezza Schermo

NPixel ci indica di quanto si sposta il tallone dalla fine dell'immagine. Io preferisco tagliare l'immagine sempre in 2 parti: la parte alta e la parte bassa (in un personaggio le gambe e il busto). Quindi, invece di prendere il tallone, prendiamo la metà dello sprite e quindi
 
NPixel = Altezza Sprite / 2

Sostituendo:

ZOrder = (Y + Altezza Sprite ? (Altezza Sprite /2) ) / Altezza Schermo

Semplificando:

ZOrder = (Y + Altezza Sprite / 2) / Altezza Schermo

Dovremmo trovarci bene in quasi tutte le situazioni.
La formula dello ZOrder qui sopra và bene solamente per uno schermo fisso (dove la mappa non è scrollabile) quindi và rivista, ma sono particolari che analizzeremo quando, appunto, imposteremo la "telecamera" per il nostro gioco.



Sweet Vengeance della Freank-Expo




Autore: Freank

 Commenti
LEGGI TUTTI

News di attualità

LA CAVALLERIA E IL...
RIFLESSIONI Nell'illustrazione: Galielo...

Pubblicare un gioco...
Spesso creiamo giochi amatoriali e una volta...

LA CAVALLERIA E IL...
 Nell'illustrazione: tortura sotto...

Juventus, Conte...
La Juventus occupa il primo posto in...

Kamasutra: molto...
Parlando di Kamasutra, quello che si profila...

 




pubblicità | siti partner | regole | visione | diritti | ufficio stampa | donazioni | scrivici
© 1999-2012 - P.IVA 02284690035 - Grafica, layout e contenuti sono di esclusiva proprietà di Misteri e Segreti.

Web Design by ArcadiA Club

Powered by:
Spazi pubblicitari di alto livello