| Paket | flash.geom |
| Klasse | public class Matrix |
| Vererbung | Matrix Object |
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
matrix-Eigenschaft eines Transform-Objekts anwenden und dieses Transform-Objekt dann als transform-Eigenschaft des Anzeigeobjekts anwenden. Die verfügbaren Transformationsfunktionen sind Schieben (x- und y-Neupositionierung), Drehen, Skalieren und Neigen.
Diese Transformationsfunktionen werden als affine Transformationen bezeichnet. Bei affinen Transformationen bleiben gerade Linien erhalten, d. h., parallele Linien bleiben parallel.
Wenn Sie eine Transformationsmatrix auf ein Anzeigeobjekt anwenden möchten, erstellen Sie ein Transform-Objekt, und legen Sie die entsprechende matrix-Eigenschaft für die Transformationsmatrix und dann die transform-Eigenschaft des Anzeigeobjekts für das Transform-Objekt fest. Matrix-Objekte werden auch als Parameter für bestimmte Methoden verwendet. Dazu zählen u. a. die folgenden Methoden:
draw()-Methode eines BitmapData-ObjektsbeginBitmapFill(), beginGradientFill() und lineGradientStyle() eines Graphics-ObjektsEin Transformationsmatrixobjekt ist eine 3x3-Matrix mit dem folgenden Inhalt:

In herkömmlichen Transformationsmatrizen werden zusätzliche Funktionen über die Eigenschaften u, v und w bereitgestellt. Die Matrix-Klasse kann nur im zweidimensionalen Raum verwendet werden. Es wird daher vorausgesetzt, dass der Wert der Eigenschaften u und v 0,0 ist und der Wert der Eigenschaft w 1,0. Die effektiven Werte der Matrix sind wie folgt:

Auch die Werte aller anderen sechs Eigenschaften eines Matrix-Objekts lassen sich abrufen und setzen: a, b, c, d, tx und ty.
Die Matrix-Klasse unterstützt die vier Haupttypen der Transformationsfunktionen: Schieben, Skalieren, Drehen und Neigen. Sie können drei dieser Transformationen über spezielle Methoden festlegen, die in der folgenden Tabelle beschrieben sind.
| Transformation | Vorgehensweise | Matrixwerte | Anzeigeergebnis | Beschreibung |
|---|---|---|---|---|
| Verschieben (Versetzen) | translate(tx, ty) | ![]() | ![]() | Verschiebt das Bild um tx Pixel nach rechts und ty Pixel nach unten. |
| Skalieren | scale(sx, sy) | ![]() | ![]() | Ändert die Bildgröße, wobei die Position jedes Pixels mit sx auf der x-Achse und mit sy auf der y-Achse multipliziert wird. |
| Drehung | rotate(q) | ![]() | ![]() | Dreht das Bild um den Winkel q, der im Bogenmaß angegeben wird. |
| Neigen oder Scheren | Keine Methode. Die Eigenschaften b und c müssen festgelegt werden. | ![]() | ![]() | Verschiebt das Bild stufenweise in paralleler Richtung zur x- oder y-Achse. Die b-Eigenschaft des Matrix-Objekts gibt die Tangente des Neigungswinkels entlang der y-Achse an und die c-Eigenschaft des Matrix-Objekts die Tangente des Neigungswinkels entlang der x-Achse. |
Bei jeder Transformation werden die aktuellen Matrixeigenschaften geändert. Daher können Sie mehrere Transformationen miteinander kombinieren. Rufen Sie dazu mehrere Transformationsfunktionen auf, bevor Sie die Matrix auf das entsprechende Anzeigeobjekt anwenden (mithilfe der transform-Eigenschaft des Anzeigeobjekts).
Erstellen Sie mit dem new Matrix()-Konstruktor ein Matrix-Objekt, bevor Sie die Methoden des Matrix-Objekts aufrufen können.
Siehe auch
| Eigenschaft | Definiert von | ||
|---|---|---|---|
| a : Number
Der Wert in der ersten Zeile und ersten Spalte des Matrix-Objekts, der sich beim Skalieren oder Drehen eines Bilds auf die Positionierung von Pixeln entlang der x-Achse auswirkt.
| Matrix | ||
| b : Number
Der Wert in der ersten Zeile und zweiten Spalte des Matrix-Objekts, der sich beim Drehen oder Skalieren eines Bilds auf die Positionierung von Pixeln entlang der y-Achse auswirkt.
| Matrix | ||
| c : Number
Der Wert in der zweiten Zeile und ersten Spalte des Matrix-Objekts, der sich beim Drehen oder Skalieren eines Bilds auf die Positionierung von Pixeln entlang der x-Achse auswirkt.
| Matrix | ||
![]() | constructor : Object
Ein Verweis auf das Klassenobjekt oder die Konstruktorfunktion für eine angegebene Objektinstanz.
| Object | |
| d : Number
Der Wert in der zweiten Zeile und zweiten Spalte des Matrix-Objekts, der sich beim Skalieren oder Drehen eines Bilds auf die Positionierung von Pixeln entlang der y-Achse auswirkt.
| Matrix | ||
![]() | prototype : Object
[static]
Ein Verweis auf das Prototypobjekt einer Klasse oder eines Funktionsobjekts.
| Object | |
| tx : Number
Der Abstand, um den jeder Punkt entlang der x-Achse verschoben werden soll.
| Matrix | ||
| ty : Number
Der Abstand, um den jeder Punkt entlang der y-Achse verschoben werden soll.
| Matrix | ||
| Methode | Definiert von | ||
|---|---|---|---|
|
Erstellt ein neues Matrix-Objekt mit den angegebenen Parametern.
| Matrix | ||
|
Gibt ein neues Matrix-Objekt zurück, das ein Klon dieser Matrix ist, mit einer exakten Kopie des enthaltenen Objekts.
| Matrix | ||
|
Verkettet eine Matrix mit der aktuellen Matrix und kombiniert auf diese Weise die geometrischen Effekte der beiden Matrizen.
| Matrix | ||
|
Enthält Parameter zur Skalierung, Drehung und Versetzung.
| Matrix | ||
|
createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Erstellt den speziellen Matrixstil, der durch die beginGradientFill()- und lineGradientStyle()-Methoden der Graphics-Klasse vorgegeben wird.
| Matrix | ||
|
Diese Methode gibt für einen Punkt im noch nicht transformierten Koordinatenraum die entsprechenden Punktkoordinaten nach der Transformation zurück.
| Matrix | ||
![]() |
Gibt an, ob für ein Objekt eine bestimmte Eigenschaft definiert wurde.
| Object | |
|
Setzt jede Matrixeigenschaft auf einen Wert, der zu einer Nulltransformation führt.
| Matrix | ||
|
Führt die umgekehrte Transformation der ursprünglichen Matrix durch.
| Matrix | ||
![]() |
Gibt an, ob eine Instanz der Object-Klasse in der Prototypkette des Objekts vorhanden ist, das als Parameter angegeben wurde.
| Object | |
![]() |
Gibt an, ob die angegebene Eigenschaft vorhanden ist und durchlaufen werden kann.
| Object | |
|
Wendet eine Drehung auf das Matrix-Objekt an.
| Matrix | ||
|
Wendet eine Skalierung auf die Matrix an.
| Matrix | ||
![]() |
Legt die Verfügbarkeit einer dynamischen Eigenschaft für Schleifenoperationen fest.
| Object | |
|
Gibt einen Textwert zurück, der eine Eigenschaftenliste des Matrix-Objekts enthält.
| Matrix | ||
|
Gibt das Ergebnis der geometrischen Transformation, die durch das Matrix-Objekt dargestellt wird, für den angegebenen Punkt zurück.
| Matrix | ||
|
Verschiebt die Matrix entsprechend den Angaben durch die Parameter "dx" und "dy" entlang der x- und y-Achse.
| Matrix | ||
![]() |
Gibt den Grundwert des angegebenen Objekts zurück.
| Object | |
| a | Eigenschaft |
public var a:Number
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Der Wert in der ersten Zeile und ersten Spalte des Matrix-Objekts, der sich beim Skalieren oder Drehen eines Bilds auf die Positionierung von Pixeln entlang der x-Achse auswirkt.
myMatrix erstellt und der Wert der Eigenschaft a festgelegt.
import flash.geom.Matrix;
var myMatrix:Matrix = new Matrix();
trace(myMatrix.a); // 1
myMatrix.a = 2;
trace(myMatrix.a); // 2
| b | Eigenschaft |
public var b:Number
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Der Wert in der ersten Zeile und zweiten Spalte des Matrix-Objekts, der sich beim Drehen oder Skalieren eines Bilds auf die Positionierung von Pixeln entlang der y-Achse auswirkt.
myMatrix erstellt und der Wert der Eigenschaft b festgelegt.
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 | Eigenschaft |
public var c:Number
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Der Wert in der zweiten Zeile und ersten Spalte des Matrix-Objekts, der sich beim Drehen oder Skalieren eines Bilds auf die Positionierung von Pixeln entlang der x-Achse auswirkt.
myMatrix erstellt und der Wert der Eigenschaft c festgelegt.
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 | Eigenschaft |
public var d:Number
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Der Wert in der zweiten Zeile und zweiten Spalte des Matrix-Objekts, der sich beim Skalieren oder Drehen eines Bilds auf die Positionierung von Pixeln entlang der y-Achse auswirkt.
myMatrix erstellt und der Wert der Eigenschaft d festgelegt.
import flash.geom.Matrix;
var myMatrix:Matrix = new Matrix();
trace(myMatrix.d); // 1
myMatrix.d = 2;
trace(myMatrix.d); // 2
| tx | Eigenschaft |
public var tx:Number
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Die Strecke, um die jeder Punkt entlang der x-Achse geschoben werden soll. Dies gibt den Wert in der ersten Zeile und dritten Spalte des Matrix-Objekts an.
myMatrix erstellt und der Wert der Eigenschaft tx wird festgelegt.
import flash.geom.Matrix;
var myMatrix:Matrix = new Matrix();
trace(myMatrix.tx); // 0
myMatrix.tx = 50; // 50
trace(myMatrix.tx);
| ty | Eigenschaft |
public var ty:Number
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Der Abstand, um den jeder Punkt entlang der y-Achse verschoben werden soll. Dies repräsentiert den Wert in der zweiten Zeile und dritten Spalte des neuen Matrix-Objekts.
myMatrix erstellt und der Wert der Eigenschaft ty festgelegt.
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)
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Erstellt ein neues Matrix-Objekt mit den angegebenen Parametern. In der Matrixschreibweise sind die Eigenschaften wie folgt angeordnet:

Wenn Sie für den new Matrix()-Konstruktor keine Parameter angeben, wird eine Identitätsmatrix mit den folgenden Werten erstellt:
a = 1 | b = 0 |
c = 0 | d = 1 |
tx = 0 | ty = 0 |
In der Matrixschreibweise sieht die Identitätsmatrix wie folgt aus:

a:Number (default = 1) — Der Wert in der ersten Zeile und ersten Spalte des neuen Matrix-Objekts.
|
|
b:Number (default = 0) — Der Wert in der ersten Zeile und zweiten Spalte des neuen Matrix-Objekts.
|
|
c:Number (default = 0) — Der Wert in der zweiten Zeile und ersten Spalte des neuen Matrix-Objekts.
|
|
d:Number (default = 1) — Der Wert in der zweiten Zeile und zweiten Spalte des neuen Matrix-Objekts.
|
|
tx:Number (default = 0) — Der Wert in der ersten Zeile und dritten Spalte des neuen Matrix-Objekts.
|
|
ty:Number (default = 0) — Der Wert in der zweiten Zeile und dritten Spalte des neuen Matrix-Objekts.
|
matrix_1 erstellt, indem keine Parameter an den Matrix()-Konstruktor gesendet werden, und matrix_2, indem Parameter gesendet werden. Beachten Sie, dass matrix_1, die ohne Parameter erstellt wurde, eine Identitätsmatrix mit den Werten a=1, b=0, c=0, d=1, tx=0, ty=0 ergibt.
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 | () | Methode |
public function clone():Matrix
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt ein neues Matrix-Objekt zurück, das ein Klon dieser Matrix ist, mit einer exakten Kopie des enthaltenen Objekts.
RückgabewerteMatrix — Ein Matrix-Objekt.
|
| concat | () | Methode |
public function concat(m:Matrix):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Verkettet eine Matrix mit der aktuellen Matrix und kombiniert auf diese Weise die geometrischen Effekte der beiden Matrizen. In mathematischer Hinsicht entspricht die Verkettung zweier Matrizen der Kombination der beiden Matrizen durch eine Matrixmultiplikation.
Wenn die Matrix m1 beispielsweise ein Objekt um einen Faktor von vier skaliert und Matrix m2 ein Objekt um einen Bogenmaßwert von 1,5707963267949 dreht (Math.PI/2), dann wandelt m1.concat(m2) m1 in eine Matrix um, die ein Objekt um den Faktor vier skaliert und es um einen Bogenmaßwert von Math.PI/2 dreht.
Diese Methode ersetzt die Quellmatrix durch die verkettete Matrix. Wenn Sie zwei Matrizen ohne eine Änderung der beiden Quellmatrizen verketten möchten, kopieren Sie zuerst die Quellmatrix mit der Methode clone() (siehe dazu den Abschnitt mit Beispielen für Klassen).
Parameter
m:Matrix — Die mit der Quellmatrix zu verkettende Matrix.
|
| createBox | () | Methode |
public function createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Enthält Parameter zur Skalierung, Drehung und Versetzung. Wenn diese Methode auf eine Matrix angewendet wird, legt sie die Werte der Matrix entsprechend diesen Parametern fest.
Mit der Methode createBox() können Sie die gleiche Matrix erstellen wie beim Anwenden der Methoden identity(), rotate(), scale() und translate() nacheinander. Beispielsweise ist mat1.createBox(2,2,Math.PI/4, 100, 100) gleichwertig mit den folgenden Ausdrücken:
import flash.geom.Matrix;
var mat1:Matrix = new Matrix();
mat1.identity();
mat1.rotate(Math.PI/4);
mat1.scale(2,2);
mat1.translate(10,20);
Parameter
scaleX:Number — Der Faktor für die horizontale Skalierung.
|
|
scaleY:Number — Der Faktor für die vertikale Skalierung.
|
|
rotation:Number (default = 0) — Der Drehungswert im Bogenmaß.
|
|
tx:Number (default = 0) — Die Anzahl der entlang der x-Achse nach rechts umzusetzenden (zu verschiebenden) Pixel.
|
|
ty:Number (default = 0) — Die Anzahl der entlang der y-Achse nach unten umzusetzenden (zu verschiebenden) Pixel.
|
Siehe auch
myMatrix gesetzt, indem die Methode createBox() aufgerufen wird.
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=100, ty=200)
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 | () | Methode |
public function createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Erstellt den speziellen Matrixstil, der durch die Methoden beginGradientFill() und lineGradientStyle() der Graphics-Klasse vorgegeben wird. Breite und Höhe werden auf ein scaleX/scaleY-Paar skaliert und die tx/ty-Werte werden um die halbe Breite und Höhe abgesetzt.
Dies wird an einem Beispiel für einen Farbverlauf mit den folgenden Merkmalen verdeutlicht:
GradientType.LINEAR[0, 255] gesetzt ist.SpreadMethod.PADInterpolationMethod.LINEAR_RGBIn den folgenden Abbildungen sind Farbverläufe, bei denen die Matrix mit der createGradientBox()-Methode definiert wurde, mit verschiedenen Parametereinstellungen dargestellt:
Einstellungen für createGradientBox() | Resultierender Farbverlauf |
|---|---|
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°
tx = 0;
ty = 0; |
|
Parameter
width:Number — Die Breite des Farbverlaufsfelds.
|
|
height:Number — Die Höhe des Farbverlaufsfelds.
|
|
rotation:Number (default = 0) — Der Drehungswert im Bogenmaß.
|
|
tx:Number (default = 0) — Der entlang der x-Achse nach rechts zu verschiebende Abstand in Pixel. Dieser Wert wird um die Hälfte des width-Parameters versetzt.
|
|
ty:Number (default = 0) — Der entlang der y-Achse nach unten zu verschiebende Abstand in Pixel. Dieser Wert wird um die Hälfte des height-Parameters versetzt.
|
Siehe auch
myMatrix gesetzt, indem die Methode createBox() aufgerufen wird.
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 | () | Methode |
public function deltaTransformPoint(point:Point):Point
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Diese Methode gibt für einen Punkt im noch nicht transformierten Koordinatenraum die entsprechenden Punktkoordinaten nach der Transformation zurück. Im Gegensatz zur Standardtransformation, die mithilfe der Methode transformPoint() angewendet wird, werden die Umsetzungsparameter tx und ty bei einer Transformation durch die Methode deltaTransformPoint() nicht berücksichtigt.
Parameter
point:Point — Der Punkt, für den das Ergebnis der Matrixtransformation abgerufen werden soll.
|
Point — Der sich aus der Matrixtransformation ergebende Punkt.
|
| identity | () | Methode |
public function identity():void
| Player-Version : | Flash Player 9 |
Setzt jede Matrixeigenschaft auf einen Wert, der zu einer Nulltransformation führt. Ein durch Anwenden einer Identitätsmatrix transformiertes Objekt entspricht dem Original.
Nach Aufruf der Methode identity() hat die resultierende Matrix die folgenden Eigenschaften: a =1, b =0, c =0, d =1, tx =0, ty =0.
In der Matrixschreibweise sieht die Identitätsmatrix wie folgt aus:

| invert | () | Methode |
public function invert():void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Führt die umgekehrte Transformation der ursprünglichen Matrix durch. Sie können eine umgekehrte Matrix auf ein Objekt anwenden, um die bei der Anwendung der ursprünglichen Matrix vorgenommene Transformation rückgängig zu machen.
halfScaleMatrix erstellt, und zwar durch den Aufruf der Methodeinvert() aus doubleScaleMatrix. Anschließend wird demonstriert, dass die beiden Matrizen Umkehrungen voneinander sind, d. h., dass sie verwendet werden können, um Transformationen der jeweils anderen Matrix rückgängig zu machen, und zwar durch die Erstellung von originalAndInverseMatrix, die identisch ist mit 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 | () | Methode |
public function rotate(angle:Number):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Wendet eine Drehung auf das Matrix-Objekt an.
Durch die Methode rotate() werden die a-, b-, c- und d-Eigenschaften des Matrix-Objekts geändert. In der Matrixschreibweise entspricht dies der Verkettung der aktuellen Matrix mit der folgenden Matrix:

Parameter
angle:Number — Der Drehwinkel im Bogenmaß.
|
Siehe auch
| scale | () | Methode |
public function scale(sx:Number, sy:Number):void
| Player-Version : | Flash Player 9 |
Wendet eine Skalierung auf die Matrix an. Die x-Achse wird mit sx und die y-Achse mit sx multipliziert.
Die Methode scale() ändert die a- und d-Eigenschaften des Matrix-Objekts. In der Matrixschreibweise entspricht dies der Verkettung der aktuellen Matrix mit der folgenden Matrix:

Parameter
sx:Number — Ein Multiplikator zur Skalierung des Objekts entlang der x-Achse.
|
|
sy:Number — Ein Multiplikator zur Skalierung des Objekts entlang der y-Achse.
|
Siehe auch
| toString | () | Methode |
public function toString():String
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Gibt einen Textwert zurück, der eine Eigenschaftenliste des Matrix-Objekts enthält.
RückgabewerteString — Ein String mit den Werten für die folgenden Eigenschaften des Matrix-Objekts: a, b, c, d, tx und ty.
|
| transformPoint | () | Methode |
public function transformPoint(point:Point):Point
| Player-Version : | Flash Player 9 |
Gibt das Ergebnis der geometrischen Transformation, die durch das Matrix-Objekt dargestellt wird, für den angegebenen Punkt zurück.
Parameter
point:Point — Der Punkt, für den das Ergebnis der Matrixtransformation abgerufen werden soll.
|
Point — Der sich aus der Matrixtransformation ergebende Punkt.
|
| translate | () | Methode |
public function translate(dx:Number, dy:Number):void
| Sprachversion : | ActionScript 3.0 |
| Player-Version : | Flash Player 9 |
Verschiebt die Matrix entsprechend den Angaben durch die Parameter dx und dy entlang der x- und y-Achse.
Parameter
dx:Number — Die Verschiebung entlang der x-Achse nach rechts in Pixel.
|
|
dy:Number — Die Verschiebung entlang der y-Achse nach unten in Pixel.
|
Siehe auch
MatrixExample-Klasse demonstriert, wie ein großes Quadrat mit Farbverlaufsfüllung erstellt werden kann. Dies wird in den folgenden Schritten erreicht:
myMatrix) und mithilfe der trace()-Methode werden die Standardeigenschaftswerte für das myMatrix-Objekt ausgegeben.createGradientBox() auf, wobei die Parameter width und height auf 200 Pixel gesetzt sind. Es wurde keine Drehung eingestellt, und der Abstand für die Verschiebung entlang der x- und y-Achse ist auf 50 Pixel gesetzt.myMatrix-Objekt erneut, um die Änderungen durch den Aufruf von createGradientBox() zu verdeutlichen.colors: Setzt die Farben des Farbverlaufs auf einen Bereich zwischen reinem Rot und reinem Blau.alphas: Setzt die Deckkraft auf undurchsichtig.ratios: Legt fest, dass beide Farben gleichmäßig verteilt sind.beginGradientFill() auf, die sich auf das myMatrix-Objekt auswirkt. Außerdem ruft sie die lineTo()-Methode auf, und daraufhin wird das Feld mit Farbverlaufsfüllung erstellt.
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 = [100, 100];
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);
}
}
}
Eine E-Mail an mich senden, wenn dieser Seite Kommentare hinzugefügt werden | Kommentarbericht
Aktuelle Seite: http://livedocs.adobe.com/flash/9.0_de/ActionScriptLangRefV3/flash/geom/Matrix.html