簡単なテストスクリプトがあります。これは、ユーザーがボタンのサイズ内をクリックしたときにブール値を変更することを意味しますが、機能していません。
私はそのようにそれに近づきました:
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
終了ボタンである場合、ボタンの上にあるときにボタンが押されていなくても終了することです。
どうすれば正しく動作させることができるのか混乱しています。