gpt4 book ai didi

c++ - 仅在单击按钮时检查事件

转载 作者:行者123 更新时间:2023-11-28 07:53:27 25 4
gpt4 key购买 nike

我有一个简单的测试脚本,它意味着当用户在按钮的尺寸范围内单击但它不起作用时更改 bool 值。

我是这样处理的:

while( SDL_PollEvent( &event ) ) {
switch( event.type ){
case SDL_QUIT: quit = true; break;
case SDL_MOUSEMOTION: mouseX = event.motion.x; mouseY = event.motion.y; break;
case SDL_MOUSEBUTTONDOWN: click = true;
}
}
Button btn_settings(btn_x,btn_y);
if(btn_settings.IsIn(mouseX,mouseY)){
btn_settings.RenderImg(menu,screen,"button_on.png","Settings");

if(click){
quit = true;
}

} else {
btn_settings.RenderImg(menu,screen,"button.png","Settings");
}

问题是,如果我点击任何地方,然后点击等于 true,那么如果鼠标退出按钮上,即使在按钮上时没有按下按钮,它也会退出。

我很困惑如何让它正常工作。

最佳答案

尝试处理鼠标按钮弹起时的“单击”事件。我从未使用过 SDL,但我怀疑定义了一个 SDL_MOUSEBUTTONUP。否则,您不知道他们是想执行拖动操作,还是在松开鼠标按钮之前将鼠标移动到其他地方。

关于c++ - 仅在单击按钮时检查事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13243777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com