Jouer avec l'objet puissant et polyvalent Matrix (matrice), liée à des changements, vous pouvez faire des choses bizarres. Ces outils sont utilisés pour appliquer des transformations spéciales pour un objet visuel, comme un Sprite. Vous pouvez, par exemple, redimensionner, faire pivoter ou se tordre (skew) un Sprite. e rotation ), per l'effetto Skew bisogna ricorrere direttamente alle matrici. Alors que les deux premières fonctions (échelle et rotation) des objets Sprite (pas seulement) à rendre disponible directement les propriétés ( scaleX / scaleY et rotation ), l'effet devrait biaiser appel directement aux matrices. Ce que je tiens à souligner ici est que lorsque nous modifions un objet graphique l'ensemble de ses coordonnées internes sont déplacés:
Le code pour ce jeu est la suivante:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25e 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | . MouseEvent ; flash.events importation. MouseEvent ; . Matrix ; les importations flash.geom. Matrice ; / / / / Drapeau pour détecter la mousedown Boolean = false ; MD var: booléen = false; / / / / Création d'un front noir Sprite = new Sprite ( ) ; var lvg1: Sprite = new Sprite (); . lineStyle ( 0 , 0xffffff ) ; . lvg1 graphiques lineStyle (0, 0xFFFFFF).; . beginFill ( 0x666666 ) ; .. lvg1 graphiques beginFill (0x666666); . drawRect ( 0 , 0 , 199 , 199 ) ; .. lvg1 graphiques drawRect (0, 0, 199, 199); . endFill ( ) ; lvg1 graphiques endFill ()..; lvg1 ) ; addChild (lvg1); = lvg1 . y = 30 ; lvg1 lvg1 x =. y = 30.; / / / / Création du conseil inclinée Sprite = new Sprite ( ) ; var lvg2: Sprite = new Sprite (); . lineStyle ( 0 , 0xffffff ) ; . lvg2 graphiques lineStyle (0, 0xFFFFFF).; . beginFill ( 0x666666 ) ; .. lvg2 graphiques beginFill (0x666666); . drawRect ( 0 , 0 , 199 , 199 ) ; .. lvg2 graphiques drawRect (0, 0, 199, 199); . endFill ( ) ; lvg2 graphiques endFill ()..; lvg2 ) ; addChild (lvg2); / / / / Création et imposé une matrice pour l'inclinaison de la / / Conseil lvg2 Matrix = new Matrix ( ) ; var myMatrix: Matrice = new Matrice (); / / Est incliné de -25 degrés : Number = Math . PI * 2 * - 25 / 360 ; Angle var: Nombre = Math . * PI * 2 - 25 / 360; / / Stacker = 300 ; myMatrix tx = 300.; = 100 ; myMatrix ty = 100.; = Math . tan ( angle ) ; myMatrix b =. Math tan (angle).; . matrix = myMatrix ; lvg2 transformer myMatrix = matrice..; / / / Événement / Peinture ( MouseEvent . MOUSE_DOWN , _onMouseDown ) ; . lvg1 addEventListener ( MouseEvent MOUSE_DOWN, _onMouseDown.); ( MouseEvent . MOUSE_MOVE , _onMouseMove ) ; . lvg1 addEventListener ( MouseEvent MOUSE_MOVE, _onMouseMove.); ( MouseEvent . MOUSE_UP , _onMouseUp ) ; . lvg1 addEventListener ( MouseEvent MOUSE_UP, _onMouseUp.); / / e : MouseEvent ) : void { Fonction _onMouseDown (e: MouseEvent ): void { "_onMouseDown" ) ; trace ("_onMouseDown"); : uint = 0xffffff ; var c: uint = 0xFFFFFF; . graphics . lineStyle ( 10 , c , 1 ) ; ... et de cibler des graphismes lineStyle (10, c, 1); . lineStyle ( 10 , c , 1 ) ; .. lvg2 graphiques lineStyle (10, c, 1); . graphics . moveTo ( e . localX , e . localY ) ; .. et de cibler des graphismes moveTo (et. localX et localY.).; . moveTo ( e . localX , e . localY ) ; .. lvg2 graphiques moveTo (et. localX et localY.); md = true; } / / e : MouseEvent ) : void { _onMouseUp function (e: MouseEvent ): void { md = false; } / / e : MouseEvent ) : void { _onMouseMove function (e: MouseEvent ): void { "_onMouseMove" ) ; trace ("_onMouseMove"); md ) { if (MD) { . graphics . lineTo ( e . localX , e . localY ) ; . graphismes et la cible lineTo (et. localX et localY)...; . lineTo ( e . localX , e . localY ) ; .. lvg2 graphiques lineTo (et. localX et localY.); } } |
e non via x e y . Remarque, les lignes 30 et 31, le Sprite seconde ( lvg2 ) est traduit en utilisant l' Matrix et non pas sur x et y .
En outre, les lignes 46 et 58, les fonctions de dessin sur le sprite inclinée maintenir la même forme que ceux de l'avant Sprite ( lvg1 ).










[...] Peinture Flash CS3: Matrice des effets de matrice avec Paint Créer un éclair [...]