Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Pascal: tilemap(?)

j.k [15.10.2003 13:38:04]

#

Miten saan piirettyä tilemap kartan parhaiten ruutuun? Tai oikeastaan miten tilemap toimii? Olen vähän huono näissä grafiikka asioissa... Käytän delphixää. Voisiko joku antaa selostuksen...

Pink Blue Finn [17.10.2003 09:52:07]

#

delphistä en tiiä mutta kai c++ esimerkit kelpaa..

eli oletetaan että yksi tile/laatta on kooltaan 32x32 pikseliä. maailma minkä meinaat piirtää on taas vaikka 640x480 pikseliä eli 20x15 laattaa.

tarvitaan näköjään jonkunlainen taulukko. vaikka tämmönen:

#define WORLD_X 20
#define WORLD_Y 15

char maailma[WORLD_Y][WORLD_X];

nyt on tilaa maailmalle. sitten pelin alussa maailma-taulukkoon ladataan tiedot pelialueesta, joko kovakoodattuna tai tiedostosta.

// esimerkki taulukon alustamisesta kovakoodattuna
int taulukko[2][3] = {0,0,1,
                      0,1,1};

seuraava kohta on kuvien lataaminen muistiin, mutta siitä en ala esimerkkiä nyt kirjottelemaan. pääsilmukassa maaston piirtäminen tapahtuu suunnilleen näin:

for(int iy=0; iy<WORLD_Y; iy++)
{
  for(int ix=0; ix<WORLD_X; ix++)
  {
    Draw_Tile(ix*32, iy*32, maailma[iy][ix]);
  }
}

Draw_Tile() -funktio piirtää sitten oikeanlaisen ruudun annetuille koordinaateille, eli siellä on vaikka switch -lause, joka tarkistaa kolmannen parametrin ja piirtää sen mukaan

jos tarvii scrollata nii homma on tietenkin vähän monimutkasempi..

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta