Bonjour
Je tente de faire des bulles qui bougent toutes seules mais au bout d'un certain temps mes bulles s'arrêtent de bouger sauf une !!! Je ne vois pas pourquoi. Pourriez vous m'aider?
Merci
voici mon code
import fl.transitions.Tween;
import fl.transitions.easing.*;
import fl.transitions.TweenEvent;
var nombre_de_bulles:uint=50;
var i:uint;
var speed:Number=120; // la diagonale devra etre parcouru en 120 images (5s)
var xmin,ymin,xmax,ymax:uint;
var diagonale:Number;
// les infos de la scène
xmin=0;
ymin=0;
xmax=stage.stageWidth;
ymax=stage.stageHeight;
//trace(xmin+" "+xmax+" "+ymin+" "+ymax);
// cacul de la diagonale
diagonale=Math.sqrt(Math.pow((xmax-xmin),2)+Math.pow((ymax-ymin),2));
//trace("diagonale="+diagonale);
// creation des bulles
for (i=0; i<nombre_de_bulles; i++) {
var new_bulle:bulle=new bulle();
new_bulle.x=stage.stageWidth/2;
new_bulle.y=stage.stageHeight/2;
addChild(new_bulle);
deplace(new_bulle);
}
function deplace(bulle:MovieClip) {
var distance:Number;
var xdest,ydest:uint;
var durée:Number;
// déterminstaion point de destination
xdest=Math.floor(Math.random()*(xmax-xmin))+xmin;
ydest=Math.floor(Math.random()*(ymax-ymin))+ymin;
//var total:Number=Math.pow((xdest-this.x),2)+Math.pow((ydest-this.y),2);
//trace("xdest="+xdest+" ydest="+ydest+" total="+total);
// caciul distance à parcourir
distance=Math.sqrt(Math.pow((xdest-bulle.x),2)+Math.pow((ydest-bulle.y),2));
//trace("distance à parcourir="+distance);
// calcul durée du parcours en images
durée=distance/diagonale*speed;
//trace("durée="+durée);
var myTweenx:Tween=new Tween(bulle,"x",None.easeIn,bulle.x,xdest,durée,false);
var myTweeny:Tween=new Tween(bulle,"y",None.easeIn,bulle.y,ydest,durée,false);
myTweenx.addEventListener(TweenEvent.MOTION_FINISH,myTweenx_motion_finish);
}
function myTweenx_motion_finish(evt:TweenEvent) {
//evt.currentTarget.removeEventListener(TweenEvent.MOTION_FINISH,myTweenx_motion_finish);
deplace(evt.currentTarget.obj);
}
Merci
seb