How do i detect when a mouse is hovering over a button?
I want to know because i want on my start screen that when I'm hovering over a button it gets bigger.
Best Regards - Gaming_100


import greenfoot.Actor; import greenfoot.Greenfoot; /** * Write a description of class Buttons here. * * @author Yehuda (1/2 of Nosson1459 - greenfoot.org user name) * @version (a version number or a date) */ public abstract class Buttons extends Actor { private Actor actorHoveredOver = null; /** * This method checks to see which button the mouse is hovering over */ private void hoverOwner() { if ((actorHoveredOver == null || actorHoveredOver.getWorld() == null) && Greenfoot.mouseMoved(this)) { actorHoveredOver = this; } else if (actorHoveredOver == this && Greenfoot.mouseMoved(null) && !Greenfoot.mouseMoved(this)) { actorHoveredOver = null; } } /** * This methods returns true if the mouse is hovering over the specified * button. * * @param button the button to see if hovering over * @return true, if mouse is over specified button */ public boolean mouseHoveringOver(Actor actor) { hoverOwner(); return actorHoveredOver == actor; } /** * Gets the button that the mouse is hovering over. * * @return the button that the mouse is over */ public Actor getHoverOwner() { return actorHoveredOver; } }
if (mouseHoveringOver(this)) { setImage(/*bigger image*/); } else { setImage(/*regular image*/); }
if (Greenfoot.mouseMoved(this)) setImage(/**bigger image*/); if (Greenfoot.mouseMoved(null) && !Greenfoot.mouseMoved(this)) setImage(/**regular image*/);