2016-06-25 6 views
0

Как я могу проверить, была ли нажата мышь по координатам области gimage_1?Как проверить, нажата ли мышь над поверхностью SDL?

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

 Смежные вопросы

  • Нет связанных вопросов^_^