Salut
dans ma classe rectangle j'ai aujouté cette méthode
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
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;} }
merci
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; }
Partager