03.07.2013 Views

Guide de reference du langage ActionScript 2.0 - PowWeb

Guide de reference du langage ActionScript 2.0 - PowWeb

Guide de reference du langage ActionScript 2.0 - PowWeb

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Exemple<br />

L'exemple suivant crée trois matrices définissant <strong>de</strong>s transformations pour trois rectangles <strong>de</strong><br />

clips. Les <strong>de</strong>ux premières matrices rotate45Matrix et doubleScaleMatrix sont appliquées<br />

aux <strong>de</strong>ux rectangles rectangleMc_1 et rectangleMc_2. Ensuite, la troisième matrice est<br />

créée à l'ai<strong>de</strong> <strong>de</strong> la métho<strong>de</strong> concat() sur rotate45Matrix et doubleScaleMatrix pour<br />

obtenir scaleAndRotateMatrix. Cette matrice est ensuite appliquée à rectangleMc_3 pour<br />

le redimensionner et le faire pivoter.<br />

import flash.geom.Matrix;<br />

import flash.geom.Transform;<br />

var rectangleMc_0:MovieClip = createRectangle(20, 80, 0x000000);<br />

var rectangleMc_1:MovieClip = createRectangle(20, 80, 0xFF0000);<br />

var rectangleMc_2:MovieClip = createRectangle(20, 80, 0x00FF00);<br />

var rectangleMc_3:MovieClip = createRectangle(20, 80, 0x0000FF);<br />

var rectangleTrans_1:Transform = new Transform(rectangleMc_1);<br />

var rectangleTrans_2:Transform = new Transform(rectangleMc_2);<br />

var rectangleTrans_3:Transform = new Transform(rectangleMc_3);<br />

var rotate45Matrix:Matrix = new Matrix();<br />

rotate45Matrix.rotate(Math.PI/4);<br />

rectangleTrans_1.matrix = rotate45Matrix;<br />

rectangleMc_1._x = 100;<br />

trace(rotate45Matrix.toString()); // (a=0.707106781186548,<br />

b=0.707106781186547, c=-0.707106781186547, d=0.707106781186548, tx=0,<br />

ty=0)<br />

var doubleScaleMatrix:Matrix = new Matrix();<br />

doubleScaleMatrix.scale(2, 2);<br />

rectangleTrans_2.matrix = doubleScaleMatrix;<br />

rectangleMc_2._x = 200;<br />

trace(doubleScaleMatrix.toString()); // (a=2, b=0, c=0, d=2, tx=0, ty=0)<br />

var scaleAndRotateMatrix:Matrix = doubleScaleMatrix.clone();<br />

scaleAndRotateMatrix.concat(rotate45Matrix);<br />

rectangleTrans_3.matrix = scaleAndRotateMatrix;<br />

rectangleMc_3._x = 300;<br />

trace(scaleAndRotateMatrix.toString()); // (a=1.4142135623731,<br />

b=1.41421356237309, c=-1.41421356237309, d=1.4142135623731, tx=0, ty=0)<br />

function createRectangle(width:Number, height:Number,<br />

color:Number):MovieClip {<br />

var <strong>de</strong>pth:Number = this.getNextHighestDepth();<br />

var mc:MovieClip = this.createEmptyMovieClip("mc_" + <strong>de</strong>pth, <strong>de</strong>pth);<br />

mc.beginFill(color);<br />

mc.lineTo(0, height);<br />

mc.lineTo(width, height);<br />

mc.lineTo(width, 0);<br />

Matrix (flash.geom.Matrix) 793

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!