kake_fisk Skrevet 21. mars 2009 Del Skrevet 21. mars 2009 Ikke så lenge siden jeg begynnte med SDL, men for å designe levler litt enklere prøvde jeg å lære tilmapping, men har ikke fått det til å funke helt enda. Her er et bilde av hvordan det vises: Her er koden jeg bruker: //Load int tile[20][15]; int xx = 0; int yy = 0; ifstream map("level1.map"); for (int t=0;t<300;t++) { int tiletype = 0; map >> tiletype; tile[xx][yy] = tiletype; xx += 1; if(xx >= 20) { xx = 0; yy += 1; } } //Draw int xxx = 0; int yyy = 0; for (int t=0;t<300;t++) { if (tile[xxx][yyy] == 1) { apply_surface(xxx*32,yyy*32,wall, screen); } xxx += 1; if(xxx >= 20) { xxx = 0; yyy += 1; } } Her er inholdet "level1.map" filen: 01 01 01 01 01 01 01 01 01 01 01 01 01 0101 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 00 00 00 00 00 00 00 00 00 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 01 Jeg har ikke brukt noen konstanter eller komentarer i koden så jeg kan forklare noen tall. 300 i for loopen er hvor mange tiles det er i totalt (20*15). Hver tile er 32*32px. Det er plass til 20 i bredden og 15 i høyden (640*480px). tiletype 01 er en "wall" og 00 er "empty". Lenke til kommentar
kake_fisk Skrevet 21. mars 2009 Forfatter Del Skrevet 21. mars 2009 Jeg trodde ikke det var mulig, men jeg hadde tatt feil av høyden og bredden i filen. Hadde 15 i bredden og 20 i høyden, jeg har fisket det nå. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå