如何验证鼠标是否在 SDL Surface 上单击?
How to verify if mouse is clicked over a SDL Surface?
如何验证鼠标是否在 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 );
SDL_Surface
对象是没有位置或区域的图像。当您通过 SDL_Rect
将它们渲染到屏幕上时,您就给了它们一个位置。在您的示例中,gimage_1
没有任何坐标。您在渲染时使用的 SDL_Rect
。
如何验证鼠标是否在 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 );
SDL_Surface
对象是没有位置或区域的图像。当您通过 SDL_Rect
将它们渲染到屏幕上时,您就给了它们一个位置。在您的示例中,gimage_1
没有任何坐标。您在渲染时使用的 SDL_Rect
。