如何验证鼠标是否在SDL Surface上单击?

时间:2016-06-25 18:03:23

标签: algorithm events sdl mouse

如何验证鼠标是否在gimage_1区域坐标上点击?

gScreenSurface是绘制gimage_1的主要表面。

基本上我被困在如何获得gimage_1坐标并用鼠标点击位置验证。

伪代码:

    SDL_Window* gWindow = NULL;  
    SDL_Surface* gScreenSurface = NULL;
    SDL_Surface *gimage_1 = NULL;
    SDL_Event e;

     while( SDL_PollEvent( &e ) != 0 )
     {
            switch (e.type) {
                case SDL_MOUSEBUTTONDOWN:
                    int x, y;
                    SDL_GetMouseState( &x, &y);
     }
     SDL_BlitSurface( gimage_1, NULL, gScreenSurface, NULL );
     SDL_UpdateWindowSurface( gWindow );

1 个答案:

答案 0 :(得分:1)

SDL_Surface个对象是没有位置或区域的图像。当您通过SDL_Rect将它们渲染到屏幕上时,可以给它们一个位置。在您的示例中,gimage_1没有任何坐标。渲染时使用的SDL_Rect