En ole vielä oikein jaksanut aloitella SDL koodausta.
Odottelen vielä ensi viikkoon että saan nopeemman koneen.
Mutta tuli mieleen tälläinen ongelma.
Jos mulla on tallennettuna pelialue vaikkapa taulukkoon AREA[6400][4800] ja
haluan piirtää siitä ruudulle 640*480 kokoisen alueen(fullscreen)
alkaen kohdasta STARTX,STARTY;
Kuinkahan surfaceen voisi ladata taulukon sisällön?
Vai onko jotain muuta keksintöä?
Voiko surface olla suurempi kuin ruutu?
Suoraan putkan SDL-oppaasta:
void PiirraKuva(SDL_Surface *kuva, SDL_Surface *naytto, int kuvax, int kuvay, int leveys, int korkeus, int nayttox, int nayttoy) { SDL_Rect kuvaalue; // alue, mikä kuvasta piirretään kuvaalue.x = kuvax; kuvaalue.y = kuvay; kuvaalue.h = korkeus; kuvaalue.w = leveys; SDL_Rect nayttoalue; // alue näytöllä, jolle kuva piirretään nayttoalue.x = nayttox; nayttoalue.y = nayttoy; SDL_BlitSurface(kuva, &kuvaalue, naytto, &nayttoalue); }
Tuosta voi vaikka jättää parametreista pois piirrettävän alueen koon, jos se kerta on aina sama ja samoin koordinaatit, johon näytöllä piirretään, koska ne on aina 0,0.
EDIT: Niin ja kyllähän pinta (paitsi näyttöpinta) voi olla niin iso kun koneessa (tai siis ohjelmalle suotua) muistia riittää.
Kiitos!:)
Aihe on jo aika vanha, joten et voi enää vastata siihen.