Användarprofil

Uppgifter
Användarnamn
Email
Besök -
Hemsida Ingen
Plats (stad)
Senaste besök 01:00 - 1:a Januari 1970
Poster i forumet
Varningar
Grupp
Medlem sedan 01:00 - 1:a Januari 1970
Artiklar och filer
Den här användaren har inga artiklar eller filer

Avatar


Presentation av

Den här användaren har inte skapat någon personlig presentation.

Senaste inläggen i forumet

SDL
true that, tack!

Postad 18:21 - 4:e Januari 2009
SDL
aa det är en border runt, men bollavtrycken borde ju fortfarande vara kvar när den rört sig över hela skärmen?

Postad 21:11 - 2:a Januari 2009
Grafik med SDL
Mycket bra guide! Skulle vara kul med fler delar!

Postad 18:34 - 2:a Januari 2009
SDL
Någon som vet varför skärmen rensar sig själv efter varje utritad boll? Jag hade tänkt att implementera det sedan, men det löstes på något sättSmiley

Så här ser koden ut

  1. void Displayboll(SDL_Surface *des, SDL_Surface *img, double x, double y)
  2. {
  3. SDL_Rect rect;
  4. rect.x = x;
  5. rect.y = y;
  6. rect.w = img->w;
  7. rect.h = img->h;
  8.  
  9. SDL_BlitSurface(img, NULL , des, &rect);
  10. }
  11.  
  12. int main(int argc, char *argv[])
  13. {
  14. atexit(SDL_Quit);
  15. SDL_Surface *screen;
  16. SDL_Init(SDL_INIT_VIDEO);
  17. screen = SDL_SetVideoMode(1200, 900, 32, SDL_HWSURFACE|SDL_DOUBLEBUF);
  18.  
  19. SDL_Surface *boll;
  20. boll = SDL_LoadBMP("boll.bmp");
  21.  
  22. //Bollen placeras i mitten
  23. double bollX = (screen->w-boll->w)/2, bollY = (screen->h-boll->h)/2;
  24. Displayboll(screen, boll, (screen->w-boll->w)/2 , (screen->h-boll->h)/2);
  25. SDL_Flip(screen);
  26.  
  27.  
  28. SDL_Event eventet;
  29.  
  30. int limit=1;
  31. srand (time(NULL));
  32. while(1)
  33. {
  34.  
  35. int x=rand() % 3 - limit; //Slumpar ett nummer mellan -1 & 1
  36. int y=rand() % 3 - limit;
  37.  
  38. bollX += x;
  39. bollY += y;
  40.  
  41. //Gör att bollen håller sig inom fönstret (Någon som vet ett effektivare sätt?)
  42. if (bollX==0)
  43. bollX=1;
  44. if (bollX==screen->w-boll->w)
  45. bollX=screen->w-boll->w-limit;
  46.  
  47. if (bollY==0)
  48. bollY=1;
  49. if (bollY==screen->h-boll->h)
  50. bollY=screen->h-boll->h-limit;
  51.  
  52.  
  53. Displayboll(screen, boll, bollX, bollY);
  54. SDL_Flip(screen);
  55.  
  56.  
  57.  
  58. SDL_PollEvent(&eventet);
  59.  
  60. switch(eventet.type)
  61. {
  62. case SDL_QUIT:
  63. cout << "Programmet stangs av..." << endl;
  64. SDL_Quit();
  65. return 0;
  66.  
  67. case SDL_KEYDOWN:
  68. Uint8 *keys;
  69.  
  70. keys = SDL_GetKeyState(NULL);
  71. if(keys[SDLK_ESCAPE])
  72. SDL_Quit();
  73. }
  74.  
  75. }
  76.  
  77. return 0;
  78. }
Smiley Smiley Smiley Smiley

Postad 03:39 - 2:a Januari 2009

Skicka meddelande
Läs s blog