1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111
| #include <SDL2/SDL.h>
#include <stdlib.h>
#include <stdio.h>
int main(int argc, char* argv[]){
/* initialisation de SDL*/
if (SDL_Init(SDL_INIT_VIDEO) != 0){
fprintf(stderr,"Erreur: %s\n", SDL_GetError());
return 1;
};
SDL_Window *fenetre = SDL_CreateWindow("Ecran1",SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED, 600,600,0);
SDL_Renderer*renderer = SDL_CreateRenderer(fenetre,-1,0);
SDL_Surface *img_charg = SDL_LoadBMP("etoile.bmp");
SDL_Texture *img_fond = SDL_CreateTextureFromSurface(renderer,img_charg);
SDL_Surface *img_vaisseau = SDL_LoadBMP("vaisseau2.bmp");
SDL_Texture *img_fond_vaisseau = SDL_CreateTextureFromSurface(renderer,img_vaisseau);
SDL_Surface *img_tir = SDL_LoadBMP("image.bmp");
SDL_Texture *img_tir_act = SDL_CreateTextureFromSurface(renderer,img_tir);
SDL_Rect rectangle;
rectangle.x=0;
rectangle.y=0;
rectangle.w=600;
rectangle.h=600;
SDL_Rect vaisseau;
vaisseau.x=250;
vaisseau.y=500;
vaisseau.w=100;
vaisseau.h=100;
SDL_Rect tir_v;
tir_v.x=260;
tir_v.y=430;
tir_v.w=60;
tir_v.h=60;
SDL_Event e;
int quit=0;
int tir=0;
while(!quit){
if (SDL_PollEvent(&e)){
if (e.type == SDL_QUIT){
quit=1;
break;
}
if(e.type == SDL_KEYDOWN){
switch(e.key.keysym.sym)
{
case SDLK_LEFT:
if ((vaisseau.x) - 10>-10){
vaisseau.x = (vaisseau.x) - 10;
SDL_Log("User just pressed LEFT a key! \n");}
break;
case SDLK_RIGHT:
if ((vaisseau.x) + 10 < (vaisseau.y) +10 ){
vaisseau.x = (vaisseau.x) + 10;
SDL_Log("User just pressed RIGHT a key! \n");}
break;
case SDLK_SPACE:
if (tir=1){
SDL_RenderCopy(renderer,img_tir_act,NULL,&tir_v);
SDL_RenderPresent(renderer);
SDL_Log("User just pressed spacebar! \n");}
default:break;
}
}
}
SDL_RenderClear(renderer);
SDL_RenderCopy(renderer,img_fond,NULL,&rectangle);
SDL_RenderCopy(renderer,img_fond_vaisseau,NULL,&vaisseau);
SDL_RenderPresent(renderer);
}
SDL_FreeSurface(img_charg);
SDL_DestroyTexture(img_fond);
SDL_FreeSurface(img_vaisseau);
SDL_DestroyTexture(img_fond_vaisseau);
SDL_FreeSurface(img_tir );
SDL_DestroyTexture(img_tir_act);
SDL_DestroyRenderer(renderer);
SDL_DestroyWindow(fenetre);
SDL_Quit();
return 0;
} |
Partager