我在使用 SDL 轮询鼠标事件时遇到了一个奇怪的小问题。
if(event.type == SDL_MOUSEBUTTONDOWN) {
printf("click %d\n", event.button.button);
}
else if(event.type == SDL_MOUSEMOTION) {
printf("move %d\n", event.button.button);
}
如果我在移动鼠标时单击并按住鼠标右键,我会得到:
click 3 // = SDL_BUTTON_RIGHT
move 4 // != SDL_BUTTON_RIGHT !
move 4
...
即 SDL_MOUSEBUTTONDOWN 将 button.button 设置为 3 用于鼠标右键,而 SDL_MOUSEMOTION 将其设置为 4。
有谁知道为什么会发生这种情况?