目前,我正在为我的游戏制作一个选项菜单。我有一个按钮,当按下时,它的文本会更改为数组中的下一个分辨率,因此基本上用户按下此按钮以将其分辨率更改为数组中的下一个字符串。
我的问题是如何获取点击事件。
现在,当用户按下按钮时,在鼠标按下时返回true,而不是在鼠标按下时返回true。我希望在鼠标按下时才在鼠标事件中返回true。
我已经查看了一些资料,发现所有的东西都与我所做的类似,或者像我说的那样,在鼠标按下时返回true,而不是初始点击。
我的事件是在一个EventManager单例中处理的,这里是我认为必要的函数:
我的更新函数,这是事件被轮询的地方。值得注意的是,我使用了一个名为“e”的私有SDL_Event。
void EventManager::update(){
while(SDL_PollEvent(&e)){
SDL_GetMouseState(&mouseX, &mouseY);
switch(e.type){
case SDL_QUIT:
running = false;
}
}
}
我的mousePress函数,我希望返回一个鼠标按下事件。
int EventManager::mousePress(){
if(e.type == SDL_MOUSEBUTTONDOWN){
return e.button.button;
}
return 0;
}
(SDL_GetMouseState(&mouseX, &mouseY) & SDL_BUTTON(SDL_BUTTON_LEFT))
怎么样? - share