Olen aloittanut SDL:län opettelun kauan sitten, sitten suutuin siihen ja lopetin... Ja nyt taas aloin jatkamaan sitä, mutta tuli pulma matkaan, minkä takia lopetus taas uhkaa :D
#include <SDL/SDL.h> #include <stdlib.h> #include <stdio.h> int DPixel(SDL_Surface * naytto, int x, int y, Uint8 R, Uint8 G, Uint8 B); int main (int argc, char *argv[]) { if(SDL_Init(SDL_INIT_VIDEO|SDL_INIT_AUDIO) < 0) { fprintf(stderr, "SDL:n alustus ei onnistunut.\n%s", SDL_GetError); SDL_Quit(); return 0; } SDL_Surface * naytto; naytto = SDL_SetVideoMode(1024, 768, 16, SDL_HWSURFACE|SDL_FULLSCREEN|SDL_DOUBLEBUF); int valmis; int vari1, vari2 , vari3; int kohtax, kohtay; vari1 = 1; vari2 = 1; vari3 = 1; kohtax = 1; kohtay = 1; while (valmis == 0) { SDL_Event event; while (SDL_PollEvent(&event)) { if(event.type == SDL_QUIT) {valmis = 1;} if(event.type == SDL_KEYDOWN) { if(event.key.keysym.sym == SDLK_ESCAPE) {valmis = 1;} } vari1 = vari2 + 1; vari2 = vari3 + 1; vari3 = vari1 + 1; kohtax = kohtay + 1; kohtay = kohtax + 1; DPixel(naytto, kohtax, kohtay, vari1, vari2, vari3); } SDL_Delay(5000); SDL_Quit(); return 0; } int DPixel(SDL_Surface * naytto, int x, int y, Uint8 R, Uint8 G, Uint8 B) { Uint32 color = SDL_MapRGB(naytto->format, R, G, B); switch (naytto->format->BytesPerPixel) { case 1: // Assuming 8-bpp { Uint8 *bufp; bufp = (Uint8 *)naytto->pixels + y*naytto->pitch + x; *bufp = color; } break; case 2: // Probably 15-bpp or 16-bpp { Uint16 *bufp; bufp = (Uint16 *)naytto->pixels + y*naytto->pitch/2 + x; *bufp = color; } break; case 3: // Slow 24-bpp mode, usually not used { Uint8 *bufp; bufp = (Uint8 *)naytto->pixels + y*naytto->pitch + x * 3; if(SDL_BYTEORDER == SDL_LIL_ENDIAN) { bufp[0] = color; bufp[1] = color >> 8; bufp[2] = color >> 16; } else { bufp[2] = color; bufp[1] = color >> 8; bufp[0] = color >> 16; } } break; case 4: // Probably 32-bpp { Uint32 *bufp; bufp = (Uint32 *)naytto->pixels + y*naytto->pitch/4 + x; *bufp = color; } break; } SDL_Flip(naytto); }
Tommoisen koodin olen väkertänyt ja errori vaan laulaa...
"E:\SDL\Harjoitukset\main.c In function `SDL_main':
94 E:\SDL\Harjoitukset\main.c syntax error at end of input
E:\SDL\Harjoitukset\Makefile.win [Build Error] [main.o] Error 1"
HUOM. Tutoriaali sivulla luki että toi pixeli juttu kannattaa vaa kopioida, sen takia kommentit jäänyt ;)
Toisesta whilestä puuttuu lopettava '}'.
Aihe on jo aika vanha, joten et voi enää vastata siihen.