基础框架
本文描述SDL2通过鼠标及键盘与用户交互的基本框架
#include <stdbool.h>//使用bool类型
#include <stdio.h>
#include <stdlib.h>
#include <SDL2/SDL.h>//引用SDL库
#include <SDL2/SDL_image.h>//引用SDL_image库
int main(int argc,char* argv[])
{
SDL_Init(SDL_INIT_VIDEO);
SDL_Window* window = SDL_CreateWindow("SDLDemo",100,100,800,600,SDL_WINDOW_SHOWN);
SDL_Surface* surface = SDL_GetWindowSurface(window);
SDL_Event event;
bool quit = false;//跳出循环后执行quit(),确保资源的释放
while(quit == false)
{
while(SDL_PollEvent(&event))
{
if(event.type == SDL_QUIT)//退出事件
{
quit = true;
}
else if(event.type == SDL_MOUSEBUTTONDOWN)//鼠标单击事件
{
if(event.button.button == SDL_BUTTON_LEFT)//鼠标左键
{
printf("Left\n");
}
else if(event.button.button == SDL_BUTTON_RIGHT)//鼠标右键
{
printf("Right\n");
}
}
else if(event.type == SDL_KEYDOWN)//键盘事件
{
printf("Keyboard\n");
}
}
}
SDL_FreeSurface(surface);
SDL_DestroyWindow(window);
SDL_Quit();
return 0;
}