2016-06-25 5 views
0

gimage_1エリア座標でマウスがクリックされたかどうかを確認するにはどうすればよいですか?SDL Surface上でマウスがクリックされたかどうかを確認する方法は?

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

SDL_Surfaceオブジェクトは、位置又は領域のない画像です。彼らはあなたがSDL_Rectを介してそれらをスクリーン上にレンダリングするときにそれらの位置を与える。あなたの例では、gimage_1には座標がありません。それをレンダリングするときに使用するSDL_Rect

+0

指定された位置を与える方法がわかりませんでした。私はSDL_BlitSurface(gimage_1、NULL、gScreenSurface、NULL);を使ってそれらを描画しました。 – ovrwngtvity

+0

'SDL_Rect'で位置を管理しました! – ovrwngtvity

関連する問題