问题是这样的,在真机上用手触摸按下不放后,先响应了1次SDL_MOUSEBUTTONDOWN,然后就一直响应SDL_MOUSEMOTION(也就是mousemove鼠标移动),但是我的手没有动,然后松开,他一直要响应完SDL_MOUSEMOTION,才会响应SDL_MOUSEBUTTONUP。
但是我在模拟器上测试,因为是鼠标点击的,按下鼠标后不放,他就只响应1次SDL_MOUSEBUTTONDOWN不会响应SDL_MOUSEMOTION,因为鼠标也没动。请问大家这到底是什么原因?
我用的jni的sdl的event事件来处理的。
代码如下:int s2d_Proceed_Event(void)
{
int ret = 1;;
SDLKey key;
SDL_Event event;
if(SDL_PollEvent(&event)>0){
if(event.type == SDL_QUIT){
ret = -1 ;
}
/* Get touchpannel position */
else
{
switch (event.type){
case SDL_MOUSEBUTTONDOWN:
__android_log_print(ANDROID_LOG_INFO, "EVENT", "==========%d==============\n",event.button.x);
__android_log_print(ANDROID_LOG_INFO, "EVENT", "==========%d==============\n",event.button.y); __android_log_print(ANDROID_LOG_INFO, "EVENT", "mousedown");
onmouse(1,(s32)event.button.x,(s32)event.button.y);
//onmouse(1,530,446);
break;
case SDL_MOUSEBUTTONUP:
__android_log_print(ANDROID_LOG_INFO, "EVENT", "mouseup");
onmouse(0,(s32)event.button.x,(s32)event.button.y);
//onmouse(0,530,446);
break;
case SDL_MOUSEMOTION:
__android_log_print(ANDROID_LOG_INFO, "EVENT", "mousemove");
break;
default:
break;
}
}
}
return ret;
}
但是我在模拟器上测试,因为是鼠标点击的,按下鼠标后不放,他就只响应1次SDL_MOUSEBUTTONDOWN不会响应SDL_MOUSEMOTION,因为鼠标也没动。请问大家这到底是什么原因?
我用的jni的sdl的event事件来处理的。
代码如下:int s2d_Proceed_Event(void)
{
int ret = 1;;
SDLKey key;
SDL_Event event;
if(SDL_PollEvent(&event)>0){
if(event.type == SDL_QUIT){
ret = -1 ;
}
/* Get touchpannel position */
else
{
switch (event.type){
case SDL_MOUSEBUTTONDOWN:
__android_log_print(ANDROID_LOG_INFO, "EVENT", "==========%d==============\n",event.button.x);
__android_log_print(ANDROID_LOG_INFO, "EVENT", "==========%d==============\n",event.button.y); __android_log_print(ANDROID_LOG_INFO, "EVENT", "mousedown");
onmouse(1,(s32)event.button.x,(s32)event.button.y);
//onmouse(1,530,446);
break;
case SDL_MOUSEBUTTONUP:
__android_log_print(ANDROID_LOG_INFO, "EVENT", "mouseup");
onmouse(0,(s32)event.button.x,(s32)event.button.y);
//onmouse(0,530,446);
break;
case SDL_MOUSEMOTION:
__android_log_print(ANDROID_LOG_INFO, "EVENT", "mousemove");
break;
default:
break;
}
}
}
return ret;
}
请问现在怎么处理才能不影响mousemove事件?