即使没有按下任何按钮,事件类型也设置为 SDL_MOUSEBUTTONDOWN
Event type set to SDL_MOUSEBUTTONDOWN even when not pressing any button
我正在 SDL2 中测试鼠标事件。每当按下鼠标按钮(右、左和中按钮)时,我想将 "button" 打印到控制台 window。但是,当我在不按任何按钮的情况下移动鼠标时,也会打印该消息。这是为什么?
while (!quit)
{
SDL_WaitEvent(&event);
switch (event.type)
{
case SDL_QUIT:
quit = true;
break;
default:
if (event.type = SDL_MOUSEBUTTONDOWN)
{
std::cout << "button\n";
}
break;
}
你赋值而不是比较。必须是:
if (event.type == SDL_MOUSEBUTTONDOWN) // was '='
避免此类错误的方法之一是使用 Yoda 表示法:
if (SDL_MOUSEBUTTONDOWN == event.type)
我正在 SDL2 中测试鼠标事件。每当按下鼠标按钮(右、左和中按钮)时,我想将 "button" 打印到控制台 window。但是,当我在不按任何按钮的情况下移动鼠标时,也会打印该消息。这是为什么?
while (!quit)
{
SDL_WaitEvent(&event);
switch (event.type)
{
case SDL_QUIT:
quit = true;
break;
default:
if (event.type = SDL_MOUSEBUTTONDOWN)
{
std::cout << "button\n";
}
break;
}
你赋值而不是比较。必须是:
if (event.type == SDL_MOUSEBUTTONDOWN) // was '='
避免此类错误的方法之一是使用 Yoda 表示法:
if (SDL_MOUSEBUTTONDOWN == event.type)