Paket | flash.geom |
Klass | public class Matrix |
Arv | Matrix Object |
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
matrix
-egenskap, och sedan använda Transform-objektet som visningsobjektets transform
-egenskap. Dessa omformningsfunktioner är bland annat translation (omplacering av x och y), rotation, skalning och skevning.
Tillsammans kallas dessa omformningstyper affina omformningar. I affina omformningar bevaras linjernas räthet under omformningen så att parallella linjer förblir parallella.
Om du vill använda en omformningsmatris på ett visningsobjekt skapar du först ett Transform-objekt, anger dess matrix
-egenskap till omformningsmatrisen och anger sedan visningsobjektets transform
-egenskap till Transform-objektet. Matrix-objekt används också som parametrar för vissa metoder, som i följande:
- Metoden
draw()
i BitmapData-objektet - Metoden
beginBitmapFill()
, metodenbeginGradientFill()
eller metodenlineGradientStyle()
i ett Graphics-objekt.
Ett omformningsmatrisobjekt är en 3 x 3-matris med följande innehåll:
I traditionella omformningsmatriser innehåller egenskaperna u
, v
och w
extra funktioner. Klassen Matrix fungerar bara i tvådimensionella rymder och antar därför alltid att egenskapsvärdena u
och v
är 0,0 och att egenskapsvärdet w
är 1,0. De effektiva värdena i matrisen är följande:
Du kan hämta och ställa in värdena för alla de andra sex egenskaperna i ett Matrix-objekt: a
, b
, c
, d
, tx
och ty
.
Klassen Matrix stöder de fyra huvudtyperna av omformningar: translation, skalning, rotation och skevning. Du kan ställa in tre av dessa genom speciella metoder som beskrivs i tabellen nedan:
Omformning | Metod | Matrisvärden | Visa resultat | Beskrivning |
---|---|---|---|---|
Översättning (förskjutning) |
translate(tx, ty)
| Flyttar bilden tx pixlar åt höger och ty pixlar ned. | ||
Skalning |
scale(sx, sy)
| Ändrar bildens storlek och multiplicerar varje pixel placering med sx på x-axeln och sy på y-axeln. | ||
Rotation |
rotate(q)
| Roterar bilden med vinkeln q som mäts i radianer. | ||
Skevning | Ingen; måste ange egenskaperna b och c
| Skjuter bilderna progressivt i en riktning som är parallell med x- eller y-axeln. Matrix-objektets b -egenskap representerar skevningsvinkelns tangent längs y-axeln. Matrix-objektets c -egenskap representerar skevningsvinkelns tangent längs x-axeln. |
Varje omformningsfunktion ändrar den aktuella matrisens egenskaper så att du kan kombinera flera omformningar effektivt. Detta gör du genom att anropa mer än en omformningsfunktion innan du använder matriser på dess visningsobjekt (genom att använda visningsobjektets transform
-egenskap).
Använd konstruktorn new Matrix()
för att skapa ett Matrix-objekt innan du anropar metoderna i Matrix-objektet.
Fler exempel
Relaterade API-element
flash.geom.Transform
flash.display.BitmapData.draw()
flash.display.Graphics.beginBitmapFill()
flash.display.Graphics.beginGradientFill()
flash.display.Graphics.lineGradientStyle()
Egenskap | Definieras med | ||
---|---|---|---|
a : Number
Värdet som påverkar positioneringen på pixlarna utefter x-axeln vid skalning eller rotering av en bild. | Matrix | ||
b : Number
Värdet som påverkar positioneringen på pixlarna utefter y-axeln vid rotering eller skevning av en bild. | Matrix | ||
c : Number
Värdet som påverkar positioneringen på pixlarna utefter x-axeln vid rotering eller skevning av en bild. | Matrix | ||
constructor : Object
En referens till klassobjektet eller konstruktorfunktionen för en given objektinstans. | Object | ||
d : Number
Värdet som påverkar positioneringen på pixlarna utefter y-axeln vid skalning eller rotering av en bild. | Matrix | ||
tx : Number
Avståndet som varje punkt ska översättas med på x-axeln. | Matrix | ||
ty : Number
Avståndet som varje punkt ska översättas med på y-axeln. | Matrix |
Metod | Definieras med | ||
---|---|---|---|
Skapar ett nytt Matrix-objekt med de angivna parametrarna. | Matrix | ||
Returnerar ett nytt Matrix-objekt som är en klon av den här matrisen med en exakt kopia av objektet i den. | Matrix | ||
Sammanfogar en matris med den aktuella matrisen så att de två matrisernas geometriska effekter kombineras. | Matrix | ||
Kopierar ett Vector3D-objekt till en specifik kolumn för anropande Matrix3D-objekt. | Matrix | ||
Kopierar en specifik kolumn i anropande Matrix-objekt till Vector3D-objektet. | Matrix | ||
Kopierar alla matrisdata från källans Point-objekt till anropande Matrix-objekt. | Matrix | ||
Kopierar ett Vector3D-objekt till en specifik rad för anropande Matrix-objekt. | Matrix | ||
Kopierar en specifik rad i anropande Matrix-objekt till Vector3D-objektet. | Matrix | ||
Inkluderar parametrar för skalning, rotation och translation. | Matrix | ||
createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Skapar det angivna matrisformatet som förväntas av metoderna beginGradientFill() och lineGradientStyle() i klassen Graphics. | Matrix | ||
Returnerar koordinaterna för en given punkt i koordinatrymden före omformning, efter att omformningen sker. | Matrix | ||
Anger om det finns en egenskap angiven för ett objekt. | Object | ||
Ställer in varje matrisegenskap på ett värde som orsakar en null-omformning. | Matrix | ||
Utför motsatt omformning av den ursprungliga matrisen. | Matrix | ||
Anger om en instans av klassen Object finns i prototypkedjan för objektet som anges som parameter. | Object | ||
Anger om den angivna egenskapen finns och är uppräkningsbar. | Object | ||
Tillämpar rotationsomformning på Matrix-objektet. | Matrix | ||
Tillämpar skalningsomformning på Matrix-objektet. | Matrix | ||
Anger tillgänglighet för en dynamisk egenskap för slingåtgärder. | Object | ||
Tilldelar matrismedlemmarna det angivna värdet
| Matrix | ||
Returnerar det här objektets strängrepresentation, formaterad i enlighet med språkspecifika konventioner. | Object | ||
Returnerar ett textvärde som listar egenskaperna för det här Matrix-objektet. | Matrix | ||
Returnerar resultatet från tillämpning av den geometriska omformningen som representeras av Matrix-objektet vid den angivna punkten. | Matrix | ||
Matrisen omvandlas längs x- och y-axlarna enligt dx- och dy-parametrarna. | Matrix | ||
Returnerar det angivna objektets primitiva värde. | Object |
a | egenskap |
public var a:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Värdet som påverkar positioneringen på pixlarna utefter x-axeln vid skalning eller rotering av en bild.
Exempel ( Så här använder du exemplet )
myMatrix
och dess a
-värde ställs in.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.a); // 1 myMatrix.a = 2; trace(myMatrix.a); // 2
b | egenskap |
public var b:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Värdet som påverkar positioneringen på pixlarna utefter y-axeln vid rotering eller skevning av en bild.
Exempel ( Så här använder du exemplet )
myMatrix
och dess b
-värde ställs in.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.b); // 0 var degrees:Number = 30; var radians:Number = (degrees/180) * Math.PI; myMatrix.b = Math.tan(radians); trace(myMatrix.b); // 0.5773502691896257
c | egenskap |
public var c:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Värdet som påverkar positioneringen på pixlarna utefter x-axeln vid rotering eller skevning av en bild.
Exempel ( Så här använder du exemplet )
myMatrix
och dess c
-värde ställs in.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.c); // 0 var degrees:Number = 30; var radians:Number = (degrees/180) * Math.PI; myMatrix.c = Math.tan(radians); trace(myMatrix.c); // 0.5773502691896257
d | egenskap |
public var d:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Värdet som påverkar positioneringen på pixlarna utefter y-axeln vid skalning eller rotering av en bild.
Exempel ( Så här använder du exemplet )
myMatrix
och dess d
-värde ställs in.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.d); // 1 myMatrix.d = 2; trace(myMatrix.d); // 2
tx | egenskap |
public var tx:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Avståndet som varje punkt ska översättas med på x-axeln.
Exempel ( Så här använder du exemplet )
myMatrix
och dess tx
-värde ställs in.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.tx); // 0 myMatrix.tx = 50; // 50 trace(myMatrix.tx);
ty | egenskap |
public var ty:Number
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Avståndet som varje punkt ska översättas med på y-axeln.
Exempel ( Så här använder du exemplet )
myMatrix
och dess ty
-värde ställs in.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.ty); // 0 myMatrix.ty = 50; trace(myMatrix.ty); // 50
Matrix | () | Konstruktor |
public function Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skapar ett nytt Matrix-objekt med de angivna parametrarna. I matrisnotation ordnas egenskaperna så här:
Om du inte anger några parametrar för konstruktorn new Matrix()
skapas en identitetsmatris med följande värden:
I matrisnotation ser identitetsmatrisen ut så här:
Parametrara:Number (default = 1 ) — Värdet som påverkar positioneringen på pixlarna utefter x-axeln vid skalning eller rotering av en bild.
| |
b:Number (default = 0 ) — Värdet som påverkar positioneringen på pixlarna utefter y-axeln vid rotering eller skevning av en bild.
| |
c:Number (default = 0 ) — Värdet som påverkar positioneringen på pixlarna utefter x-axeln vid rotering eller skevning av en bild.
| |
d:Number (default = 1 ) — Värdet som påverkar positioneringen på pixlarna utefter y-axeln vid skalning eller rotering av en bild.
| |
tx:Number (default = 0 ) — Avståndet som varje punkt ska översättas med på x-axeln.
| |
ty:Number (default = 0 ) — Avståndet som varje punkt ska översättas med på y-axeln.
|
Exempel ( Så här använder du exemplet )
matrix_1
genom att inga parametrar skickas till Matrix()
-konstruktorn och matrix_2
genom att parametrar skickas till den. Observera att matrix_1
, som skapades utan parametrar, resulterar i en identitetsmatris med värdena a
=1, b
=0, c
=0, d
=1, tx
=0, ty
=0.
import flash.geom.Matrix; var matrix_1:Matrix = new Matrix(); trace(matrix_1); // (a=1, b=0, c=0, d=1, tx=0, ty=0) var matrix_2:Matrix = new Matrix(1, 2, 3, 4, 5, 6); trace(matrix_2); // (a=1, b=2, c=3, d=4, tx=5, ty=6)
clone | () | metod |
concat | () | metod |
public function concat(m:Matrix):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Sammanfogar en matris med den aktuella matrisen så att de två matrisernas geometriska effekter kombineras. I matematiska termer är det samma sak att sammanfoga två matriser och att kombinera dem med matrismultiplikation.
Om matrisen m1
exempelvis skalar ett objekt med faktorn fyra och matrisen m2
roterar ett objekt med 1,5707963267949 radianer (Math.PI/2
), omvandlarm1.concat(m2)
m1
till en matris som skalar ett objekt med faktorn fyra och roterar objektet med Math.PI/2
radianer.
Den här metoden ersätter källmatrisen med den sammanfogade matrisen. Om du vill sammanfoga de två matriserna utan att ändra någon av källmatriserna kan du först kopiera källmatrisen med metoden clone()
, vilket visas i avsnittet Klassexempel.
Parametrar
m:Matrix — Den matris som ska sammanfogas med källmatrisen.
|
copyColumnFrom | () | metod |
public function copyColumnFrom(column:uint, vector3D:Vector3D):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Kopierar ett Vector3D-objekt till en specifik kolumn för anropande Matrix3D-objekt.
Parametrar
column:uint — Kolumnen varifrån data kopieras.
| |
vector3D:Vector3D — Vector3D-objekt varifrån data kopieras.
|
copyColumnTo | () | metod |
public function copyColumnTo(column:uint, vector3D:Vector3D):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Kopierar en specifik kolumn i anropande Matrix-objekt till Vector3D-objektet. Elementet w för Vector3D-objektet kommer inte att ändras.
Parametrar
column:uint — Kolumnen varifrån data kopieras.
| |
vector3D:Vector3D — Vector3D-objekt varifrån data kopieras.
|
copyFrom | () | metod |
copyRowFrom | () | metod |
public function copyRowFrom(row:uint, vector3D:Vector3D):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Kopierar ett Vector3D-objekt till en specifik rad för anropande Matrix-objekt.
Parametrar
row:uint — Raden varifrån data kopieras.
| |
vector3D:Vector3D — Vector3D-objekt varifrån data kopieras.
|
copyRowTo | () | metod |
public function copyRowTo(row:uint, vector3D:Vector3D):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Kopierar en specifik rad i anropande Matrix-objekt till Vector3D-objektet. Elementet w för Vector3D-objektet kommer inte att ändras.
Parametrar
row:uint — Raden varifrån data kopieras.
| |
vector3D:Vector3D — Vector3D-objekt varifrån data kopieras.
|
createBox | () | metod |
public function createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Inkluderar parametrar för skalning, rotation och translation. När metoden tillämpas på en matris ställs matrisens värden in utifrån dessa parametrar.
Med createBox()
-metoden kan du få samma matris som om du använde metoderna identity()
, rotate()
, scale()
, och translate()
i följd. Till exempel får mat1.createBox(2,2, Math.PI/4, 100, 100)
samma effekt som följande:
import flash.geom.Matrix; var mat1:Matrix = new Matrix(); mat1.identity(); mat1.rotate(Math.PI/4); mat1.scale(2,2); mat1.translate(10,20);
Parametrar
scaleX:Number — Den faktor som objektet ska skalas med vågrätt.
| |
scaleY:Number — Den faktor som objektet ska skalas med lodrätt.
| |
rotation:Number (default = 0 ) — Mängden rotation i radianer.
| |
tx:Number (default = 0 ) — Antalet pixlar att omvandla (flytta) till höger längs x-axeln.
| |
ty:Number (default = 0 ) — Antalet pixlar att omvandla (flytta) nedåt längs y-axeln.
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
myMatrix
genom att dess createBox()
-metod anropas.
package { import flash.display.Shape; import flash.display.Sprite; import flash.geom.Matrix; import flash.geom.Transform; public class Matrix_createBox extends Sprite { public function Matrix_createBox() { var myMatrix:Matrix = new Matrix(); trace(myMatrix.toString()); // (a=1, b=0, c=0, d=1, tx=0, ty=0) myMatrix.createBox(1, 2, Math.PI/4, 50, 100); trace(myMatrix.toString()); // (a=0.7071067811865476, b=1.414213562373095, c=-0.7071067811865475, // d=1.4142135623730951, tx=50, ty=100) var rectangleShape:Shape = createRectangle(20, 80, 0xFF0000); addChild(rectangleShape); var rectangleTrans:Transform = new Transform(rectangleShape); rectangleTrans.matrix = myMatrix; } public function createRectangle(w:Number, h:Number, color:Number):Shape { var rect:Shape = new Shape(); rect.graphics.beginFill(color); rect.graphics.drawRect(0, 0, w, h); addChild(rect); return rect; } } }
createGradientBox | () | metod |
public function createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Skapar det angivna matrisformatet som förväntas av metoderna beginGradientFill()
och lineGradientStyle()
i klassen Graphics. Bredd och höjd skalas till ett scaleX
/ scaleY
-par och värdena tx
/ ty
förskjuts med halva bredden och höjden.
Ta till exempel en övertoning med följande egenskaper:
GradientType.LINEAR
- Två färger, grönt och blått, med proportionsarrayen inställd på
[0, 255]
SpreadMethod.PAD
InterpolationMethod.LINEAR_RGB
I följande bilder visas övertoningar där matrisen definierats med hjälp av metoden createGradientBox()
med olika parameterinställningar:
createGradientBox() -inställningar | Resulterande övertoning |
---|---|
width = 25; height = 25; rotation = 0; tx = 0; ty = 0; | |
width = 25; height = 25; rotation = 0; tx = 25; ty = 0; | |
width = 50; height = 50; rotation = 0; tx = 0; ty = 0; | |
width = 50; height = 50; rotation = Math.PI / 4; // 45 degrees tx = 0; ty = 0; |
Parametrar
width:Number — Övertoningsrutans bredd.
| |
height:Number — Övertoningsrutans höjd.
| |
rotation:Number (default = 0 ) — Mängden rotation i radianer.
| |
tx:Number (default = 0 ) — Avståndet i pixlar att omvandla till höger längs x-axeln. Värdet förskjuts med hälften av parametern width .
| |
ty:Number (default = 0 ) — Avståndet i pixlar att omvandla nedåt längs y-axeln. Värdet förskjuts med hälften av parametern height .
|
Relaterade API-element
Exempel ( Så här använder du exemplet )
myMatrix
genom att dess createBox()
-metod anropas.
package { import flash.display.GradientType; import flash.display.Sprite; import flash.geom.Matrix; public class Matrix_createGradientBox extends Sprite { public function Matrix_createGradientBox() { var myMatrix:Matrix = new Matrix(); trace(myMatrix.toString()); // (a=1, b=0, c=0, d=1, tx=0, ty=0) myMatrix.createGradientBox(200, 200, 0, 50, 50); trace(myMatrix.toString()); // (a=0.1220703125, b=0, c=0, d=0.1220703125, tx=150, ty=150) var colors:Array = [0xFF0000, 0x0000FF]; var alphas:Array = [100, 100]; var ratios:Array = [0, 0xFF]; this.graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, myMatrix); this.graphics.drawRect(0, 0, 300, 200); } } }
deltaTransformPoint | () | metod |
public function deltaTransformPoint(point:Point):Point
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar koordinaterna för en given punkt i koordinatrymden före omformning, efter att omformningen sker. Till skillnad från standardomformningen som används med metoden transformPoint()
tar inte deltaTransformPoint()
-metodens omformning hänsyn till översättningsparametrarna tx
och ty
.
Parametrar
point:Point — Punkten för vilken du vill få resultatet av en matrisomformning.
|
Point — Punkten som resulterar från användning av matrisomformningen.
|
identity | () | metod |
public function identity():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ställer in varje matrisegenskap på ett värde som orsakar en null-omformning. Ett objekt som har omvandlats genom att en identitetsmatris används är identiskt med originalet.
När metoden identity()
har anropats har den resulterande matrisen följande egenskaper: a
=1, b
=0, c
=0, d
=1, tx
=0, ty
=0.
I matrisnotation ser identitetsmatrisen ut så här:
invert | () | metod |
public function invert():void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Utför motsatt omformning av den ursprungliga matrisen. Du kan tillämpa en omvänd matris på ett objekt för att ångra omformning som gjorts med den ursprungliga matrisen.
Exempel ( Så här använder du exemplet )
halfScaleMatrix
genom att metoden invert()
i doubleScaleMatrix
anropas. Sedan visas att de två matriserna är spegelbilder av varandra, det vill säga matriser som ångrar alla omformningar som görs av den andra genom att originalAndInverseMatrix
skapas, som är lika med noScaleMatrix
.
package { import flash.display.Shape; import flash.display.Sprite; import flash.geom.Matrix; import flash.geom.Transform; public class Matrix_invert extends Sprite { public function Matrix_invert() { var rect0:Shape = createRectangle(20, 80, 0xFF0000); var rect1:Shape = createRectangle(20, 80, 0x00FF00); var rect2:Shape = createRectangle(20, 80, 0x0000FF); var rect3:Shape = createRectangle(20, 80, 0x000000); var trans0:Transform = new Transform(rect0); var trans1:Transform = new Transform(rect1); var trans2:Transform = new Transform(rect2); var trans3:Transform = new Transform(rect3); var doubleScaleMatrix:Matrix = new Matrix(2, 0, 0, 2, 0, 0); trans0.matrix = doubleScaleMatrix; trace(doubleScaleMatrix.toString()); // (a=2, b=0, c=0, d=2, tx=0, ty=0) var noScaleMatrix:Matrix = new Matrix(1, 0, 0, 1, 0, 0); trans1.matrix = noScaleMatrix; rect1.x = 50; trace(noScaleMatrix.toString()); // (a=1, b=0, c=0, d=1, tx=0, ty=0) var halfScaleMatrix:Matrix = doubleScaleMatrix.clone(); halfScaleMatrix.invert(); trans2.matrix = halfScaleMatrix; rect2.x = 100; trace(halfScaleMatrix.toString()); // (a=0.5, b=0, c=0, d=0.5, tx=0, ty=0) var originalAndInverseMatrix:Matrix = doubleScaleMatrix.clone(); originalAndInverseMatrix.concat(halfScaleMatrix); trans3.matrix = originalAndInverseMatrix; rect3.x = 150; trace(originalAndInverseMatrix.toString()); // (a=1, b=0, c=0, d=1, tx=0, ty=0) } public function createRectangle(w:Number, h:Number, color:Number):Shape { var rect:Shape = new Shape(); rect.graphics.beginFill(color); rect.graphics.drawRect(0, 0, w, h); addChild(rect); return rect; } } }
rotate | () | metod |
public function rotate(angle:Number):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Tillämpar rotationsomformning på Matrix-objektet.
Metoden rotate()
ändrar a
, b
, c
och d
-egenskaperna i Matrix-objektet. I matrisnotationen är detta samma sak som att sammanfoga den aktuella matrisen med följande:
Parametrar
angle:Number — Rotationsvinkeln i radianer.
|
scale | () | metod |
public function scale(sx:Number, sy:Number):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Tillämpar skalningsomformning på Matrix-objektet. x-axeln multipliceras med sx
och y-axeln multipliceras med sy
.
Metoden scale()
ändrar Matrix-objektets a
- ochd
-egenskaper. I matrisnotationen är detta samma sak som att sammanfoga den aktuella matrisen med följande matris:
Parametrar
sx:Number — En multiplikator som används för att skala objektet längs x-axeln.
| |
sy:Number — En multiplikator som används för att skala objektet längs y-axeln.
|
setTo | () | metod |
public function setTo(aa:Number, ba:Number, ca:Number, da:Number, txa:Number, tya:Number):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Tilldelar matrismedlemmarna det angivna värdet
Parametrar
aa:Number — värdet som ska tilldelas matrisen.
| |
ba:Number | |
ca:Number | |
da:Number | |
txa:Number | |
tya:Number |
toString | () | metod |
public function toString():String
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar ett textvärde som listar egenskaperna för det här Matrix-objektet.
ReturnerarString — En sträng som innehåller värdena för egenskaperna i Matrix-objektet: a , b , c , d , tx och ty .
|
transformPoint | () | metod |
public function transformPoint(point:Point):Point
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Returnerar resultatet från tillämpning av den geometriska omformningen som representeras av Matrix-objektet vid den angivna punkten.
Parametrar
point:Point — Punkten för vilken du vill få resultatet av en matrisomformning.
|
Point — Punkten som resulterar från användning av matrisomformningen.
|
translate | () | metod |
public function translate(dx:Number, dy:Number):void
Språkversion: | ActionScript 3.0 |
Körningsmiljöversioner: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Matrisen omvandlas längs x- och y-axlarna enligt dx
- och dy
-parametrarna.
Parametrar
dx:Number — Mängden rörelse till höger längs x-axeln i pixlar.
| |
dy:Number — Mängden rörelse nedåt längs y-axeln i pixlar.
|
MatrixExample
-klassen för att visa hur en övertoningsfylld fyrkant kan skapas. Detta visas i följande steg:
- Programmet skapar först ett nytt Matrix-objekt
myMatrix
. Sedan används metodentrace()
för att skicka standardegenskapsvärden förmyMatrix
-objektet. - Programmet anropar
createGradientBox()
med parametrarnawidth
ochheight
inställda på 200 pixlar, ingen rotation, och avståndet att omvandla längs x- och y-axlarna inställt på 50 pixlar. - Programmet skriver ut
myMatrix
-objektet igen för att visa ändringen efter anropet tillcreateGradientBox()
. - Programmet ställer in tre variabler som styr hur övertoningsrutan fylls.
colors
: Anger att övertoningsfärgerna varierar från heltäckande rött och heltäckande blått.alphas
: Ställer in opaciteten till heltäckande.ratios
: Ställer in likvärdig fördelning av färgerna för både rött och blått.
- Programmet anropar Graphics-metoden
beginGradientFill()
som verkar påmyMatrix
-objektet och anropar metodenlineTo()
, vilket resulterar i en övertoningsfylld ruta.
package { import flash.geom.Matrix; import flash.display.Sprite; import flash.display.GradientType; public class MatrixExample extends Sprite { public function MatrixExample() { var myMatrix:Matrix = new Matrix(); trace(myMatrix.toString()); // (a=1, b=0, c=0, d=1, tx=0, ty=0) myMatrix.createGradientBox(200, 200, 0, 50, 50); trace(myMatrix.toString()); // (a=0.1220703125, b=0, c=0, d=0.1220703125, tx=150, ty=150) var colors:Array = [0xFF0000, 0x0000FF]; var alphas:Array = [1, 1]; var ratios:Array = [0, 0xFF]; graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, myMatrix); graphics.lineTo(0, 300); graphics.lineTo(300, 300); graphics.lineTo(300, 0); graphics.lineTo(0, 0); } } }
Tue Jun 12 2018, 01:40 PM Z