public void act() {
		if (enabled) {
			boolean last = hover;
			boolean lastP = pressed;
			if (Greenfoot.mouseMoved(this)) {
				hover = true;
			} else if (Greenfoot.mouseMoved(null)) {
				hover = false;
			}
			if (Greenfoot.mousePressed(this)) {
				pressed = true;
			}
			if (Greenfoot.mouseClicked(this) /* && hover */) {
				clicked = true;
			}
			if (Greenfoot.mouseClicked(null) || Greenfoot.mouseDragEnded(null)) {
				pressed = false;
			}
			if (last != hover || lastP != pressed) {
				// state changed
				createImage();
			}
		}
	}