In reply to @crulran "Is there a easy": Make drawButton which takes Button Button has x y w h text drawButton draws the x y w h as a rect and draw text on top of it Make a pressed function that takes Button It checks if mouse is on the button and if a click event happened if both are true it returns true (this is for buttons like main menu start button) make a down function that takes Button that checks whether mouse is on button and if the mouse click is held down and if both true it returns true (this is for buttons like player walk buttons)