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*/);