This site requires JavaScript, please enable it in your browser!
Greenfoot back
Seb_3
Seb_3 wrote ...

2021/3/11

Volume Up and Down Chp 10 Simple Mp3

Seb_3 Seb_3

2021/3/11

#
Hello, I am having a very hard time trying to get this project furthered. I'm simply lost on how to procced. This is the code I have so far for the world, play button and the vol up/down buttons.
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class MyWorld here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class MyWorld extends World
{
    private GreenfootSound uma;
    private int volumeLevel = 100; 
    
    public MyWorld()
    {    
        // Create a new world with 600x400 cells with a cell size of 1x1 pixels.
        super(800, 600, 1);
        
        setUp();
        
    }
    
    public void setUp()
    {
        uma = new GreenfootSound("Uma Thurman.mp3");
        PlayPauseButton button = new PlayPauseButton();
        addObject(button, 400, 205);
        
        volumeLevel = 50;
        
        VolumeUp volumeup = new VolumeUp();
        addObject(new VolumeUp(), 150, 500);
        
        VolumeDown volumedown = new VolumeDown();
        addObject(new VolumeDown(), 650, 500);
        
        SoundBar soundbar = new SoundBar();
        addObject(new SoundBar(), 400, 505);
    }
    
    public void adjustVolume(int noise)
    {
        volumeLevel += noise;
        uma.setVolume(volumeLevel);
    }
    /*public GreenfootSound getUma()
    {
        return songOne;
    }
    
    public void setSongone(GreenfootSound songOne)
    {
        this.songOne = songOne;
    }
    
    /*public int getVolumeLevel()
    {
        return volumeLevel;
    }
    
    public void setVolumeLevel(int volumeLevel) 
    {
        this.volumeLevel = volumeLevel;
    }*/
    
}
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class PlayPauseButton here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class PlayPauseButton extends Actor
{
    private GreenfootImage plyimg = new GreenfootImage("PlayButton.png");
    private GreenfootImage pasimg = new GreenfootImage("Pause-Button.png");
    private GreenfootSound uma = new GreenfootSound("Uma Thurman.mp3");
    private boolean play = true;
    
    public void act() 
    {
        
        if (Greenfoot.mouseClicked(this) && play)
        {
            uma.play();
            setImage("Pause-Button.png");
            play = false;
        }
        else if(Greenfoot.mouseClicked(this) && !play)
        {
            uma.pause();
            setImage("PlayButton.png");
            play = true;
        }
    }    
}
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class VolumeUp here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class VolumeUp extends Actor
{
    /**
     * Act - do whatever the VolumeUp wants to do. This method is called whenever
     * the 'Act' or 'Run' button gets pressed in the environment.
     */
    
    public VolumeUp() 
    {
        
        /*if(Greenfoot.mouseClicked(this) )
        {
            if(volumeLevel <= 95)
            {
                volumeLevel += 5;
            }
        }*/
    } 
     
    public void act() 
    {
        if(Greenfoot.mouseClicked(this) ) 
        {
            ((MyWorld)getWorld()).adjustVolume(-10);
        }
    }    
}
import greenfoot.*; // (World, Actor, GreenfootImage, Greenfoot and MouseInfo) /** * Write a description of class VolumeDown here. * * @author (your name) * @version (a version number or a date) */ public class VolumeDown extends Actor { public VolumeDown() { } public void act() { /*if(Greenfoot.mouseClicked(this) ) { if(volumeLevel <= 5) { volumeLevel -= 5; } }*/ } }
Seb_3 Seb_3

2021/3/11

#
import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Write a description of class VolumeDown here.
 * 
 * @author (your name) 
 * @version (a version number or a date)
 */
public class VolumeDown extends Actor
{
    public VolumeDown() 
    {
        
    } 
    
    public void act() 
    {
        /*if(Greenfoot.mouseClicked(this) )
        {
            if(volumeLevel <= 5)
            {
                volumeLevel -= 5;
            }
        }*/
    }    
}
danpost danpost

2021/3/11

#
Problem 1: two instances of sound. Remove sound from PlayPauseButton class. Problem 2: unchecked argument for setVolume. Ensure value is in range 0 to 100, inclusive to avoid throwing IllegalArgumentException. Controlling the sound through the user is (or should be) a behavior of the object containing that sound. Make button classes basically empty of added code and have world (where sound is) check for clicks on these objects.
You need to login to post a reply.