diff options
Diffstat (limited to 'progress/src/menu.c')
| -rw-r--r-- | progress/src/menu.c | 72 |
1 files changed, 72 insertions, 0 deletions
diff --git a/progress/src/menu.c b/progress/src/menu.c new file mode 100644 index 0000000..ea4b1df --- /dev/null +++ b/progress/src/menu.c @@ -0,0 +1,72 @@ +#include "main.h" + +void menu_render(SDL_Renderer *renderer, GameState *gameState) +{ + //set the drawing color to white + SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); + + //Clear the screen (to blue) + SDL_RenderClear(renderer); + ///set the drawing color to white + SDL_SetRenderDrawColor(renderer, 255, 255, 255, 255); + ///Dibujar Persona + SDL_Rect menu = {gameState->menu.x, gameState->menu.y, gameState->menu.w, gameState->menu.h}; + SDL_Rect menu_sprite = {gameState->menu.camara_x[gameState->menu.camara], gameState->menu.camara_y, 64, 48}; + if (gameState->player1.facing_left == 0) + SDL_RenderCopyEx(renderer, gameState->menuTexture, &menu_sprite, &menu, 0 , NULL, SDL_FLIP_NONE); + ///We are done drawing, "present" or show to the screen what we've drawn + SDL_RenderPresent(renderer); +} + +int menu_events(SDL_Window *window,GameState *gameState) +{ + SDL_Event event; + int done = 0; + while(SDL_PollEvent(&event)) + { + switch(event.type) + { + case SDL_WINDOWEVENT_CLOSE: + { + if(window) + { + SDL_DestroyWindow(window); + window = NULL; + done = 1; + } + } + break; + case SDL_KEYDOWN: + { + switch(event.key.keysym.sym) + { + case SDLK_ESCAPE: + done = 1; + break; + } + } + break; + case SDL_QUIT: + //quit out of the game + done = 1; + break; + case SDL_MOUSEBUTTONDOWN: + if(event.motion.x > 60 && event.motion.x < 580 && event.motion.y > 190 && event.motion.y < 270) + done = 1; + if(event.motion.x > 60 && event.motion.x < 580 && event.motion.y > 340 && event.motion.y < 420) + { + gameState->done = 1; + done = 1; + } + break; + case SDL_MOUSEMOTION: + if(event.motion.x > 60 && event.motion.x < 580 && event.motion.y > 190 && event.motion.y < 270) + gameState->menu.camara = 1; + else if(event.motion.x > 60 && event.motion.x < 580 && event.motion.y > 340 && event.motion.y < 420) + gameState->menu.camara = 2; + else + gameState->menu.camara = 0; + } + } + return done; +} |
