Salut

dans ma classe rectangle j'ai aujouté cette méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
public function _dessinerProg(Void):Void
	{
 
		cords= [{x:0, y:0},{x:0, y:nLongueur},{x:nLargeur, y:nLongueur},{x:nLargeur,y:0}] ;
		_mc.lineStyle(nEpaisseur,sBordure,100);
		_mc.moveTo(0,0);
		//Proxy.create(object, function, parameter)
		_mc.onEnterFrame = Proxy.create(this,sendIntoOrbit, _mc);
	}
 
	private function sendIntoOrbit(mc:MovieClip):Void
	{
		var speed:Number = 1/25;
		var position:Number = 0;
		var t:Number;
		position+=speed;
            var n:Number = Math.floor(position);
            var ptA:Object  = cords[n];
		 if(n != nbr - 1)
            {
                var ptB:Object =cords[n+1];
                }else{
                var ptB:Object= cords[0];
            }
            var x:Number =super.barycentre(ptA.x, ptB.x, position - n);
            var y:Number= super.barycentre(ptA.y, ptB.y, position - n);
            _mc.lineTo(x,y);
            if(t >= nbr){t = 0;}
	}
mais byzarement pta et ptrB sont toujours a 0 pourtant celle ci fonctionne
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
var cords:Object = new Object();
cords = [{x:0, y:0},{x:0, y:100},{x:100, y:100},{x:100, y:0}] ;
 
 
var nbr:Number = 4;
var speed:Number = 1/25;
var position:Number = 0;
 
// Dessine le carré
this.lineStyle(0, 0xFF0000, 100);
this.moveTo(0,0);
_root.onEnterFrame = function() {
position+=speed
var n:Number = Math.floor(position);
ptA = this.cords[n];
if(n != nbr - 1) {
ptB = this.cords[n+1];
} else {ptB = cords[0];}
x = barycentre(ptA.x, ptB.x, position - n);
y= barycentre(ptA.y, ptB.y, position - n);
this.lineTo(x,y);
if(t >= nbr) {t = 0;}
}
////
function  barycentre(a:Number,b:Number,t:Number):Number {
return (1 - t)*a + t*b;
}
merci