danpost wrote...
import greenfoot.*;
public class Settings extends World
{
private static boolean muted; // sound state (muted or not muted)
/** plays given sound if not muted */
public static void playSound(String fname)
{
if (!muted) Greenfoot.playSound(fname);
}
private Actor muteButton; // or Button muteButton; // button to change muted state
/** constructs a new Settings world */
public Settings()
{
super(800, 600, 1);
prepare();
}
/** prepares mute toggle button and adds to world */
protected void prepare()
{
muteButton = new Actor(){}; // or new Button("Mute");
updateMuteButttonImage();
addObject(muteButton, 500, 500); // wherever
}
/** applies appropriate image to mute button depending on mute state */
private void updateMuteButtonImage()
{
if (!muted) muteButton.setImage(<< mute image >>);
else muteButton.setImage(<< un-mute image >>);
}
/** detects button clicks to change muted state */
public void act()
{
if (Greenfoot.mouseClicked(muteButton))
{
muted = !muted;
updateMuteButtonImage();
}
}
}
