• Benvenuto in Making Videogames!
  • Dai sfogo alla tua fantasia!
  • Crea il tuo Videogioco!
Benvenuto ospite! Login Registrati




Valutazione discussione:
  • 0 voto(i) - 0 media
  • 1
  • 2
  • 3
  • 4
  • 5
Tilemap
#1
Eccomi dopo tanto tempo eccomi ritornato.Come da titolo si capisce qual'è il mio problema.Il fatto risiede che dopo aver creato la mia tile map mi ritrovo un file con all'interno una matrice.Da quanto ho capito la matrice rappresenta le parti in cui si puo andare e nella parti in cui non si puo andare nel videogioco.Per chi non lo sapesse il gioco l'ho sto scrivendo con allegro in c++.Adesso che dovrei fare per implementare la tilemap ?
 
Rispondi
#2
Spiegati meglio, non hai detto praticamente niente.

Tilemap significa semplicemente mappa divisa in tiles (blocchi/piastrelle). Suppongo che tu abbia usato un software come Tiled o simili: essendo una tilmap semplicemente una divisione in blocchi il modo in cui vengono salvate dipende dalle scelte fatte dal programmatore, non esiste uno standard per le tilemap. Anzitutto devi capire in che modo hai salvato la tilemap, devi sapere esattamente cosa contiene il file, poi scrivi un importer. In pratica si tratta di leggere il file e decifrarlo in un linguaggio comprensibile per Allegro, secondo me ti conviene proprio fare una struct che contenga tutte le informazioni che ti possano servire per un tile.
 
Rispondi
#3
ok ma non ho ancora ben capito xD in pratica devo fare una struct che quando nella matrice legge 0 ad esempio la velocita sull'asse y diventa uguale a 0?
 
Rispondi
#4
No.

1) Devi capire cosa c'è nel file che hai esportato, devi capire proprio tutto, se io ti chiedo cosa vuol dire il terzo numero nella seconda riga (ipotizzando che ci sia), tu devi saperlo. Se non lo sai devi cercare in rete e scoprirlo, dipende dal tool che hai usato per fare la tilemap e dal formato in cui l'hai esportata.

2) Devi creare un importer, ovvero qualcosa che legga il file e interpreti quello che contiene (ovviamente non lo puoi fare se non hai fatto il punto 1) per poi renderlo comprensibile ad allegro. Ad esempio dopo aver letto il file potresti essere in grado di fare robe tipo: carica l'immagine x in posizione y, imposta le collisioni sul tile z, etc. (dipende da cosa contiene il file).

3) Fai in modo che il gameplay funzioni a seconda del tile su cui si trova il player: se si trova su un tile vuoto deve cadere, se si trova su un tile con gli spuntoni muore, se su un tile con il terreno non cade, etc.

Quello della struct era solo un consiglio, nel punto 2 io farei un array di struct per contenere la tilemap (almeno il punto 3 viene facile). Poi tu lo puoi fare nel modo che ritieni più semplice o più opportuno.
 
Rispondi
#5
Siccome non ho ben capito come fare ti volevo chiedere te dove hai imparato .Qualche guida o robba del genere ?
 
Rispondi
#6
Con le tilemap ci ho smanettato solo un paio di volte, non ho seguito nessuna guida in particolare, ma ho dato un'occhiata in giro per il web giusto per farmi un'idea. Usando tiled e esportando in .txt è anche semplice intuire la struttura del file da importare.

Dai un'occhiata a questo, ma sappi che non si può campare di copia/incolla. Impara la teoria e cerca di metterla in pratica.
 
Rispondi
#7
Ragazzi allora adesso ho capito il concetto delle tilemap.Allora il mio quesito è il seguente.Potrei crearmi la matrice all'interno del codice del gioco senza fare il collegamento dal file.Se si come faccio a fare la stampa su video delle immagini della tile map partendo dalla matrice.Ce come faccio ad associare al numero della matrice un tile ?
 
Rispondi
#8
se non mi sono spiegato bene ditemelo
 
Rispondi
#9
Certo che puoi inserire i valori direttamente nel file .cpp, il concetto non cambia. I punti da seguire per passare da matrice a immagini a schermo te li ho già spiegati a grandi linee nel post precedente (#4): se non ti è chiaro qualche passaggio in particolare chiedi pure, ma in questo periodo non ho tempo e il codice già fatto non te lo darei a prescindere.
Se hai chiaro il significato dei singoli valori della matrice e se sai come dire ad allegro di visualizzare un'immagine il resto è solo questione di trascrivere quello che sai in linee di codice (ed è il concetto di programmare).

Devi semplicemente iterare ogni singolo valore della matrice e, a seconda di quello che rappresenta, caricare un'immagine in una determinata posizione. Il tipo di immagine e la posizione in cui dev'essere caricata dipende dal valore della matrice, se è come penso io (e tiro a caso visto che non so com'è fatta la matrice) il numero rappresenta l'immagine e le sue coordinate rappresentano la sua sua posizione.
Fatto questo avrai semplicemente la mappa sullo schermo, al resto (collisioni, proseguimento della mappa, etc.) pensaci solo dopo questo primo passaggio.
 
Rispondi
#10
(03-10-2012, 06:49 PM)ferrass Ha scritto: Ragazzi allora adesso ho capito il concetto delle tilemap.Allora il mio quesito è il seguente.Potrei crearmi la matrice all'interno del codice del gioco senza fare il collegamento dal file.Se si come faccio a fare la stampa su video delle immagini della tile map partendo dalla matrice.Ce come faccio ad associare al numero della matrice un tile ?

Come ha detto Steve certo che puoi...

altrimenti se non crei prima solo la funzione per la tilemap come li salvi i dati?

io ti consiglio di lasciar perdere e di iniziare con qualcos'altro di piu' semplice...

perchè non hai idea di cosa stai facendo..
 
Rispondi
  


Vai al forum:


Browsing: 1 Ospite(i)