2016-06-25 50 views
0

如何驗證鼠標是否被點擊了gimage_1區域座標?如何驗證鼠標是否在SDL表面上被點擊?

gScreenSurfacegimage_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

SDL_Surface對象是不具有位置或區域圖像。當你通過SDL_Rect將它們呈現在屏幕上時,你給他們一個位置。在你的例子中,gimage_1沒有任何座標。您在渲染時使用的SDL_Rect

+0

沒有數字如何給他們指定的位置。我使用了'SDL_BlitSurface(gimage_1,NULL,gScreenSurface,NULL);'來繪製它們。 – ovrwngtvity

+0

使用'SDL_Rect'管理職位! – ovrwngtvity

相關問題