level 4
SDL_Window *win = nullptr;
SDL_Renderer *ren = nullptr;
SDL_Event event;
SDL_Rect rt = {20,20,200,200};
int W,H;
int control(void * data);
int main(int argc,char **argv)
{
SDL_Init(SDL_INIT_EVERYTHING);
win = SDL_CreateWindow("test",0,0,800,600,SDL_WINDOW_SHOWN);
ren = SDL_CreateRenderer(win,-1,SDL_RENDERER_PRESENTVSYNC);
SDL_GetWindowSize(win,&W,&H);
SDL_Thread * ctrl = SDL_CreateThread(control,NULL,NULL);
while(rt.x > 0 && rt.x + rt.w < W && rt.y > 0 && rt.y + rt.h < H)
{
SDL_SetRenderDrawColor(ren,0,0,0,0);
SDL_RenderClear(ren);
SDL_SetRenderDrawColor(ren,0xff,0xff,0xff,0xff);
SDL_RenderDrawRect(ren,&rt);
SDL_RenderPresent(ren);
}
SDL_DestroyRenderer(ren);
SDL_DestroyWindow(win);
SDL_Quit();
return 0;
}
int control(void * data)
{
int speed = 10;
while(1)
{
while(SDL_PollEvent(&event) && event.type == SDL_KEYDOWN)
{
switch(event.key.keysym.sym)
{
case SDLK_w:
rt.y -= speed;
break;
case SDLK_s:
rt.y += speed;
break;
case SDLK_a:
rt.x -= speed;
break;
case SDLK_d:
rt.x += speed;
break;
}
}
}
}
//这是代码 好不容易上电脑耍耍的
2014年06月02日 10点06分