sdl2吧 关注:74贴子:82
  • 1回复贴,共1

SDL2的鼠标事件“掉帧”就是有时候根本不响应鼠标时间,求高手

只看楼主收藏回复

我做了很多控件,都添加了鼠标响应事件。但发现经常出现鼠标事件不执行的情况。比如有一个按钮,设定鼠标pass以及按下的时候高亮,但是有时候鼠标放上去很久(延迟半秒左右,感觉就是很卡)才会高亮。单击一下,有时候按钮根本不执行相应代码。
void Sprite::dealEvent(BP_Event& e)
{
if (_func != nullptr && isAct)
{
if (hasState(InEdge) > 0)
{
int n = getNum();
_func(e, &n);
LOG(1, "%s%d鼠标到达边沿", _name.c_str(), n);
}
switch (e.type)
{
case SDL_MOUSEBUTTONDOWN:
{
if (e.button.button == SDL_BUTTON_LEFT)
{
……
……
比如这样的代码,在 if (e.button.button == SDL_BUTTON_LEFT)处打上断点,正常情况下会触发。但有时候单击,然后松开左键的同时甩一下鼠标,结果就会发现,那个按钮会一直显示高亮状态,既不执行单击代码,也没有执行鼠标离开后的代码。


IP属地:重庆1楼2018-10-29 11:42回复
    正常


    IP属地:山西来自Android客户端2楼2019-03-15 07:06
    回复