
Som
O JPlay, por enquanto, só aceita arquivos wav.
1 - Executando um som
Para executar um som, basta fazer:
//Esse comando pode ser chamado em qualquer parte do código. new Sound(nome_do_arquivo).play();
2 - Métodos da Classe Sound
//Retorna true se o som estiver sendo reproduzido, ao contrário, retorna false. public boolean isExecuting(); //Pausa o som. public void pause(); //Pára de tocar o som. public void stop(); //Começa a tocar o som. public void play(); //Seta o volume com que o som irá ser tocado. public void setVolume(float value); //Diminui o volume do som. public void decreaseVolume(float value); //Aumenta o valor do som. public void increaseVolume(float value); //Passe true, se vc quiser que o som se repita, false caso contrário. //Por padrão o som é configurado para tocar somente uma vez. public void setRepeat(boolean value);
Exemplo: Ao detectar que dois objetos colidiram reproduz um som de explosão.
package Som001;
import jplay.Animation;
import jplay.GameImage;
import jplay.Sound;
import jplay.Sprite;
import jplay.Window;
/**
* @author Gefersom Cardoso Lima
* Universidade Federal Fluminense - UFF - Brasil - 2010
* Ciência da Computação
*/
public class Som001
{
//At the time the bird colliding with the rock it explodes and a sound plays.
public static void main(String[] args)
{
Window janela = new Window(800,600);
GameImage pedra = new GameImage("pedra.png");
pedra.x = 396;
pedra.y = 63;
GameImage ceu = new GameImage("ceu.png");
Sprite passaro = new Sprite("passaro.png", 3);
passaro.setTotalDuration(360);
Animation explosao = new Animation("explosao.png",20);
explosao.setTotalDuration(1400);
explosao.setLoop(false);//The animation will run only once.
passaro.x = 100;
passaro.y = 460;
boolean colidiu = false;
while(true)
{
ceu.draw();
pedra.draw();
if (colidiu == false)
{
passaro.draw();
passaro.update();
passaro.moveTo(600, passaro.y, 0.8);
if (passaro.collided(pedra))
{
colidiu = true;
explosao.x = passaro.x - 70;
explosao.y = passaro.y - 50;
new Sound("explosao.wav").play();
}
}
else
{
explosao.update();
explosao.draw();
}
if (explosao.isPlaying() == false && colidiu == true)
explosao.hide();
janela.update();
janela.delay(10);
}
}
}
UFF - Universidade Federal Fluminense - Institudo de Computação - Ciência da Computação