Bonjour,
J'essaie de faire une anim reactive, où lorsque une boule touche une cible , un son est emis.
Ça marche niquel, sauf quand j'en utilise plusieurs, le son se lance sans s'arrété, alors que si j'en ai qu'un le son est lu niquel...
ci joint mon applet pour que vous voyez le bug en direct live
et ci dessus mon code :
import ddf.minim.*; import ddf.minim.signals.*; import ddf.minim.analysis.*; import ddf.minim.effects.*; Minim minim; AudioPlayer player; AudioPlayer player2; Balle maBalle; Cible maCible; Cible maCible2; boolean toucher=false; void setup(){ size(640,480); frameRate(30); colorMode(HSB,360,1,1,1); minim = new Minim(this); maBalle=new Balle(100.0,100.0,20,0.3,0,0,color(360,1,1)); maCible=new Cible(100.0,400.0,50); maCible2=new Cible(300.0,400.0,100); player = minim.loadFile("er-kick.wav",2048); player2 = minim.loadFile("2.wav",2048); } void draw(){ background(208); if(maCible.contact(maBalle)){ player.cue(0); player.play(); } if(maCible2.contact(maBalle)){ player2.cue(0); player2.play(); } maCible.display(); maCible2.display(); maBalle.display(); maBalle.mouvement(); } void stop() { // always close Minim audio classes when you are done with them player.close(); player2.close(); minim.stop(); super.stop(); }
classe Balle
classe Cible
class Cible{ float posX; float posY; float taille; Balle Maballe; float disX; float disY; boolean toucher; Cible(float xT,float yT,float tailleT){ posX=xT; posY=yT; taille=tailleT; toucher=false; } void display(){ noFill(); stroke(0,0,0,1); ellipse(posX,posY,taille,taille); } boolean contact(Balle maBalle){ disX = posX - maBalle.px; disY = posY - maBalle.py; if(sqrt(sq(disX) + sq(disY)) < (taille/2+maBalle.taille/2 )&&!maBalle.toucher) { maBalle.toucher=true; toucher=true; }else if(sqrt(sq(disX) + sq(disY)) > (taille/2+maBalle.taille/2 )){ maBalle.toucher=false; toucher=false; }else{ toucher=false; } return toucher; } }
Vous pouvez réutilisez le code si vous le souhaitez.
Merci de m'avoir lue
Dernière modification par videoactif (2010-07-29 19:14:29)
Hors ligne
J'ai testé avec l'objet AudioSample, qui semble plus approprié a ce que je fait , mais le résultat est le même, dès que j'inclus deux fonction contact entre mes cible et la balle, le son lié a la cible se lance en continu...
Hors ligne