У меня есть простой тестовый скрипт, который предназначен для изменения логического значения, когда пользователь щелкает в пределах размеров кнопки, но он не работает.
Я подошел к этому так:
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, тогда, если мышь будет over
кнопкой выхода, она выйдет, даже если кнопка не была нажата, когда она была над кнопкой.
Я смущен, как я могу заставить его работать правильно.