gpt4 book ai didi

opengl - 使用 SDL 2.0 的事件

转载 作者:行者123 更新时间:2023-12-02 07:02:23 27 4
gpt4 key购买 nike

我使用 SDL 2.0 编写了一个简单的 SDL 程序。当我想检查鼠标滚轮事件时遇到一个小问题。实际上,在 2.0 版本中,标志 SDL_BUTTON_WHEELDOWN 和 SDL_BUTTON_WHEELUP 不再存在。只有标志 SDL_MOUSEWHEEL。下面的代码正确检查“WHEELUP”和“WHEELDOWN”事件,但具有相同的标志。

while(!terminer)
{
while (SDL_PollEvent(&evenements))
{
switch (evenements.type)
{
case SDL_QUIT:
terminer = true;
break;
case SDL_KEYDOWN:
switch (evenements.key.keysym.sym)
{
case SDLK_ESCAPE:
terminer = true;
break;
}
break;
case SDL_MOUSEMOTION:
std::cout << "MOUSE : MOVE" << std::endl;
break;
case SDL_MOUSEBUTTONUP:
case SDL_MOUSEBUTTONDOWN:
std::cout << "MOUSE : BUTTON DOWN" << std::endl;
break;
case SDL_MOUSEWHEEL:
std::cout << "MOUSE : WHEEL" << std::endl;
break;
}
}

但我想单独处理“WHEELUP”和“WHEELDOWN”事件。我在我的情况下尝试了其他几个标志,但没有成功。有人可以帮助我吗?

最佳答案

您可以这样捕获向上和向下事件:

case SDL_MOUSEWHEEL:

if (evenements.wheel.y < 0)
std::cout << "MOUSE : WHEEL DOWN" << std::endl;
else
std::cout << "MOUSE : WHEEL UP" << std::endl;
break;

关于opengl - 使用 SDL 2.0 的事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22269930/

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