Paket | flash.geom |
Sınıf | public class Matrix |
Miras Alma | Matrix Object |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
matrix
özelliğine uygulamanız ve ardından bu Transform nesnesini görüntüleme nesnesinin transform
özelliği olarak uygulamanız gerekir. Bu dönüşüm işlevleri çevirmeyi (x ve y yeniden konumlandırması), döndürmeyi, ölçeklemeyi ve eğmeyi içerir.
Bu tür dönüşümlere toplu olarak afin dönüşümler adı verilir. Afin dönüşümler, paralel çizgilerin paralel kalmasını sağlayacak şekilde dönüşüm sırasında çizgilerin düzlüğünü korur.
Bir görüntüleme nesnesine dönüşüm matrisi uygulamak için, bir Transform nesnesi oluşturmanız, matrix
özelliğini dönüşüm matrisine ayarlamanız ve ardından görüntüleme nesnesinin transform
özelliğini Transform nesnesine ayarlamanız gerekir. Matrix nesneleri, şunları da içeren bazı yöntemlerin parametreleri olarak da kullanılır:
- BitmapData nesnesinin
draw()
yöntemi - Graphics nesnesinin
beginBitmapFill()
yöntemi,beginGradientFill()
yöntemi veyalineGradientStyle()
yöntemi
Bir dönüşüm matris nesnesi, şunları içeren 3 x 3'lük bir matristir:
Geleneksel dönüşüm matrislerinde, u
, v
ve w
özellikleri ek yetenekler sağlar. Matrix sınıfı yalnızca iki boyutlu alanda çalışabilir, bu nedenle u
ve v
özellik değerlerinin 0,0 olduğunu ve w
özellik değerinin 1,0 olduğunu varsayar. Matrisin etkili değerleri şunlardır:
Matrix nesnesindeki diğer altı özelliğin tümünün değerlerini alabilir ve ayarlayabilirsiniz: a
, b
, c
, d
, tx
ve ty
.
Matrix sınıfı dört ana dönüşüm türünü destekler: çevirme, ölçekleme, döndürme ve eğme. Bu dönüşümlerin üçünü, şu tabloda açıklandığı gibi özel yöntemler kullanarak ayarlayabilirsiniz:
Dönüşüm | Yöntem | Matris değerleri | Görüntülenen sonuç | Açıklama |
---|---|---|---|---|
Çevirme (yer değiştirme) |
translate(tx, ty)
| Görüntüyü sağa doğru tx piksel, aşağı doğru ty piksel taşır. | ||
Ölçekleme |
scale(sx, sy)
| Her pikselin konumunu x ekseni üzerinde sx ile, y ekseni üzerinde sy ile çarparak görüntüyü yeniden boyutlandırır. | ||
Dönüş |
rotate(q)
| Görüntüyü radyan olarak ölçülen bir açı q değeriyle döndürür. | ||
Eğme veya makaslama | Yok; b ve c özellikleri ayarlanmalı | Görüntüyü x veya y eksenine paralel doğrultuda aşamalı olarak kaydırır. Matrix nesnesinin b özelliği, y ekseni boyunca uzanan eğim açısının tanjantını temsil eder. Matrix nesnesinin c özelliği x ekseni boyunca uzanan eğme açısı tanjantını temsil eder. |
Her dönüşüm işlevi geçerli matris özelliklerini, birden çok dönüşümü etkin şekilde birleştirmenize olanak tanıyacak biçimde değiştirir. Bunu yapmak için, matrisi görüntüleme nesnesi hedefine uygulamadan önce birden çok dönüşüm işlevi çağırmanız gerekir (söz konusu görüntüleme nesnesinin transform
özelliğini kullanarak).
Matrix nesnesinin yöntemlerini çağırabilmek için Matrix nesnesi oluşturmak üzere new Matrix()
yapıcısını kullanın.
İlgili API Öğeleri
flash.geom.Transform
flash.display.BitmapData.draw()
flash.display.Graphics.beginBitmapFill()
flash.display.Graphics.beginGradientFill()
flash.display.Graphics.lineGradientStyle()
Özellik | Tanımlayan: | ||
---|---|---|---|
a : Number
Görüntüyü ölçeklerken veya döndürürken piksellerin x ekseni boyunca konumlandırmasını etkileyen değer. | Matrix | ||
b : Number
Görüntüyü döndürürken veya eğerken piksellerin y ekseni boyunca konumlandırmasını etkileyen değer. | Matrix | ||
c : Number
Görüntüyü döndürürken veya eğerken piksellerin x ekseni boyunca konumlandırmasını etkileyen değer. | Matrix | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
d : Number
Görüntüyü ölçeklerken veya döndürürken piksellerin y ekseni boyunca konumlandırmasını etkileyen değer. | Matrix | ||
tx : Number
Her noktanın x ekseni boyunca çevrileceği mesafe. | Matrix | ||
ty : Number
Her noktanın y ekseni boyunca çevrileceği mesafe. | Matrix |
Yöntem | Tanımlayan: | ||
---|---|---|---|
Belirtilen parametrelerle yeni bir Matrix nesnesi oluşturur. | Matrix | ||
İçerilen nesnenin tam kopyasıyla bu matrisin bir klonu olan yeni bir Matrix nesnesi döndürür. | Matrix | ||
Geometrik efektlerini etkili bir şekilde bir araya getirerek bir matrisi ve geçerli matrisi birleştirir. | Matrix | ||
Çağrı yapan Matrix3D nesnesinin belirli sütununa bir Vector3D nesnesi kopyalar. | Matrix | ||
Çağrı yapan Matrix nesnesinin belirli sütununu Vector3D nesnesine kopyalar. | Matrix | ||
Kaynak Point nesnesindeki tüm matris verisini çağrı yapan Matrix nesnesine kopyalar. | Matrix | ||
Çağrı yapan Matrix nesnesinin belirli satırına bir Vector3D nesnesi kopyalar. | Matrix | ||
Çağrı yapan Matrix nesnesinin belirli satırını Vector3D nesnesine kopyalar. | Matrix | ||
Ölçekleme, döndürme ve çevirme için parametreler içerir. | Matrix | ||
createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Graphics sınıfının beginGradientFill() ve lineGradientStyle() yöntemlerinin beklediği özel stilde bir matris oluşturur. | Matrix | ||
Dönüştürme öncesi koordinat alanındaki belirli bir noktanın dönüştürme sonrasındaki koordinatlarını döndürür. | Matrix | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
Her matris özelliğini boş bir dönüşüme neden olan bir değere ayarlar. | Matrix | ||
Orijinal matrisin zıt dönüşümünü gerçekleştirir. | Matrix | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
Matrix nesnesine bir döndürme dönüşümü uygular. | Matrix | ||
Matrise bir ölçekleme dönüşümü uygular. | Matrix | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Matrix öğesinin üyelerini belirtilen değerlere ayarlar
| Matrix | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Matrix nesnesinin özelliklerini listeleyen metin değerini döndürür. | Matrix | ||
Matrix nesnesinin temsil ettiği geometrik dönüşümün belirtilen noktaya uygulanmasıyla elde edilen sonucu döndürür. | Matrix | ||
Matrisi, dx ve dy parametreleri tarafından belirtildiği gibi x ve y eksenleri boyunca çevirir. | Matrix | ||
Belirtilen nesnenin temel değerini döndürür. | Object |
a | özellik |
public var a:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Görüntüyü ölçeklerken veya döndürürken piksellerin x ekseni boyunca konumlandırmasını etkileyen değer.
Örnek ( Bu örnek nasıl kullanılır? )
myMatrix
Matrix nesnesi oluşturulmakta ve a
değeri ayarlanmaktadır.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.a); // 1 myMatrix.a = 2; trace(myMatrix.a); // 2
b | özellik |
public var b:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Görüntüyü döndürürken veya eğerken piksellerin y ekseni boyunca konumlandırmasını etkileyen değer.
Örnek ( Bu örnek nasıl kullanılır? )
myMatrix
Matrix nesnesi oluşturulmakta ve b
değeri ayarlanmaktadır.
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 | özellik |
public var c:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Görüntüyü döndürürken veya eğerken piksellerin x ekseni boyunca konumlandırmasını etkileyen değer.
Örnek ( Bu örnek nasıl kullanılır? )
myMatrix
Matrix nesnesi oluşturulmakta ve c
değeri ayarlanmaktadır.
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 | özellik |
public var d:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Görüntüyü ölçeklerken veya döndürürken piksellerin y ekseni boyunca konumlandırmasını etkileyen değer.
Örnek ( Bu örnek nasıl kullanılır? )
myMatrix
Matrix nesnesi oluşturulmakta ve d
değeri ayarlanmaktadır.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.d); // 1 myMatrix.d = 2; trace(myMatrix.d); // 2
tx | özellik |
public var tx:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Her noktanın x ekseni boyunca çevrileceği mesafe.
Örnek ( Bu örnek nasıl kullanılır? )
myMatrix
Matrix nesnesi oluşturulmakta ve tx
değeri ayarlanmaktadır.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.tx); // 0 myMatrix.tx = 50; // 50 trace(myMatrix.tx);
ty | özellik |
public var ty:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Her noktanın y ekseni boyunca çevrileceği mesafe.
Örnek ( Bu örnek nasıl kullanılır? )
myMatrix
Matrix nesnesi oluşturulmakta ve ty
değeri ayarlanmaktadır.
import flash.geom.Matrix; var myMatrix:Matrix = new Matrix(); trace(myMatrix.ty); // 0 myMatrix.ty = 50; trace(myMatrix.ty); // 50
Matrix | () | Yapıcı |
public function Matrix(a:Number = 1, b:Number = 0, c:Number = 0, d:Number = 1, tx:Number = 0, ty:Number = 0)
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirtilen parametrelerle yeni bir Matrix nesnesi oluşturur. Matris notasyonunda özellikler şu şekilde organize edilir:
new Matrix()
yapıcısına hiçbir parametre sağlamazsanız, yapıcı şu değerlerle bir kimlik matrisi oluşturur:
Matris notasyonunda kimlik matrisi şu şekilde görünür:
Parametrelera:Number (default = 1 ) — Görüntüyü ölçeklerken veya döndürürken piksellerin x ekseni boyunca konumlandırmasını etkileyen değer.
| |
b:Number (default = 0 ) — Görüntüyü döndürürken veya eğerken piksellerin y ekseni boyunca konumlandırmasını etkileyen değer.
| |
c:Number (default = 0 ) — Görüntüyü döndürürken veya eğerken piksellerin x ekseni boyunca konumlandırmasını etkileyen değer.
| |
d:Number (default = 1 ) — Görüntüyü ölçeklerken veya döndürürken piksellerin y ekseni boyunca konumlandırmasını etkileyen değer.
| |
tx:Number (default = 0 ) — Her noktanın x ekseni boyunca çevrileceği mesafe.
| |
ty:Number (default = 0 ) — Her noktanın y ekseni boyunca çevrileceği mesafe.
|
Örnek ( Bu örnek nasıl kullanılır? )
Matrix()
yapıcısına hiçbir parametre göndermeden matris_1
öğesini, parametre göndererek matris_2
öğesini oluşturur. Parametre kullanılmadan oluşturulan matris_1
öğesinin, a
=1, b
=0, c
=0, d
=1, tx
=0, ty
=0 değerlerine sahip bir kimlik matrisi sonucunu verdiğine dikkat edin.
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 | () | yöntem |
concat | () | yöntem |
public function concat(m:Matrix):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Geometrik efektlerini etkili bir şekilde bir araya getirerek bir matrisi ve geçerli matrisi birleştirir. Matematiksel olarak, iki matrisin birleştirilmesi matris çarpımı kullanılarak birleştirilmesiyle aynıdır.
Örneğin, matris m1
bir nesneyi dördün katlarıyla ölçeklerse ve matris m2
bir nesneyi 1,5707963267949 radyanıyla döndürürse (Math.PI/2
); bu durumda m1.concat(m2)
, m1
öğesini bir nesneyi dördün katlarıyla ölçekleyen bir matrise dönüştürür ve nesneyi Math.PI/2
radyanıyla döndürür.
Bu yöntem kaynak matrisi birleştirilmiş matrisle değiştirir. İki kaynak matristen herhangi birini değiştirmeden iki matrisi birleştirmek istiyorsanız, Sınıf Örnekleri bölümünde gösterildiği şekilde ilk olarak clone()
yöntemini kullanarak kaynak matrisi kopyalayın.
Parametreler
m:Matrix — Kaynak matris ile birleştirilecek olan matris.
|
copyColumnFrom | () | yöntem |
public function copyColumnFrom(column:uint, vector3D:Vector3D):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Çağrı yapan Matrix3D nesnesinin belirli sütununa bir Vector3D nesnesi kopyalar.
Parametreler
column:uint — Verilerin kopyalanacağı kaynak sütun.
| |
vector3D:Vector3D — Verinin kopyalanacağı kaynak Vector3D nesnesi.
|
copyColumnTo | () | yöntem |
public function copyColumnTo(column:uint, vector3D:Vector3D):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Çağrı yapan Matrix nesnesinin belirli sütununu Vector3D nesnesine kopyalar. Vector3D nesnesini w öğesi değiştirilmez.
Parametreler
column:uint — Verilerin kopyalanacağı kaynak sütun.
| |
vector3D:Vector3D — Verinin kopyalanacağı kaynak Vector3D nesnesi.
|
copyFrom | () | yöntem |
public function copyFrom(sourceMatrix:Matrix):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Kaynak Point nesnesindeki tüm matris verisini çağrı yapan Matrix nesnesine kopyalar.
Parametreler
sourceMatrix:Matrix — Verilerin kopyalanacağı kaynak Matrix nesnesi.
|
copyRowFrom | () | yöntem |
public function copyRowFrom(row:uint, vector3D:Vector3D):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Çağrı yapan Matrix nesnesinin belirli satırına bir Vector3D nesnesi kopyalar.
Parametreler
row:uint — Verilerin kopyalanacağı kaynak satır.
| |
vector3D:Vector3D — Verinin kopyalanacağı kaynak Vector3D nesnesi.
|
copyRowTo | () | yöntem |
public function copyRowTo(row:uint, vector3D:Vector3D):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Çağrı yapan Matrix nesnesinin belirli satırını Vector3D nesnesine kopyalar. Vector3D nesnesini w öğesi değiştirilmez.
Parametreler
row:uint — Verilerin kopyalanacağı kaynak satır.
| |
vector3D:Vector3D — Verinin kopyalanacağı kaynak Vector3D nesnesi.
|
createBox | () | yöntem |
public function createBox(scaleX:Number, scaleY:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Ölçekleme, döndürme ve çevirme için parametreler içerir. Bir matrise uygulandığında, matrisin değerlerini söz konusu parametreleri temel alarak ayarlar.
createBox()
yönteminin kullanılması, identity()
, rotate()
, scale()
ve translate()
yöntemlerinin art arda uygulanmasıyla aynı matrisin elde edilmesine olanak tanır. Örneğin, mat1.createBox(2,2, Math.PI/4, 100, 100)
ile şunun sonucu aynıdır:
import flash.geom.Matrix; var mat1:Matrix = new Matrix(); mat1.identity(); mat1.rotate(Math.PI/4); mat1.scale(2,2); mat1.translate(10,20);
Parametreler
scaleX:Number — Yatay ölçeklemede kullanılacak faktör.
| |
scaleY:Number — Dikey ölçeklemede kullanılacak faktör.
| |
rotation:Number (default = 0 ) — Radyan olarak, döndürülecek miktar.
| |
tx:Number (default = 0 ) — x ekseni boyunca sağa doğru çevrilecek (taşınacak) piksel sayısı.
| |
ty:Number (default = 0 ) — y ekseni boyunca aşağı doğru çevrilecek (taşınacak) piksel sayısı.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
createBox()
yöntemi çağrılarak myMatrix
öğesinin x ölçeği, y ölçeği, x konumu ve y konumu ayarlanmaktadır.
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 | () | yöntem |
public function createGradientBox(width:Number, height:Number, rotation:Number = 0, tx:Number = 0, ty:Number = 0):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Graphics sınıfının beginGradientFill()
ve lineGradientStyle()
yöntemlerinin beklediği özel stilde bir matris oluşturur. Genişlik ve yükseklik bir scaleX
/scaleY
çiftine ölçeklenir ve tx
/ty
değerleri, genişlik ve yüksekliğin yarısı kadar kaydırılır.
Örneğin, aşağıdaki özelliklere sahip bir degrade olduğunu düşünelim:
GradientType.LINEAR
- İki renk, yeşil ve mavi, oranlar dizisi
[0, 255]
olarak ayarlanmış durumda SpreadMethod.PAD
InterpolationMethod.LINEAR_RGB
Aşağıdaki şekiller matrisin, createGradientBox()
yöntemi farklı parametre ayarlarıyla kullanılarak tanımlandığı degradeleri gösterir:
createGradientBox() ayarları | Elde edilen degrade |
---|---|
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; |
Parametreler
width:Number — Degrade kutunun genişliği.
| |
height:Number — Degrade kutunun yüksekliği.
| |
rotation:Number (default = 0 ) — Radyan olarak, döndürülecek miktar.
| |
tx:Number (default = 0 ) — Piksel olarak, x ekseni boyunca sağa doğru çevrilecek mesafe. Bu değer, width parametresinin yarısına denk gelen değer kadar kaydırılır.
| |
ty:Number (default = 0 ) — Piksel olarak, y ekseni boyunca aşağı doğru çevrilecek mesafe. Bu değer, height parametresinin yarısına denk gelen değer kadar kaydırılır.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
createBox()
yöntemi çağrılarak myMatrix
öğesinin x ölçeği, y ölçeği, x konumu ve y konumu ayarlanmaktadır.
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 | () | yöntem |
public function deltaTransformPoint(point:Point):Point
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Dönüştürme öncesi koordinat alanındaki belirli bir noktanın dönüştürme sonrasındaki koordinatlarını döndürür. transformPoint()
yöntemi kullanılarak uygulanan standart dönüşümün aksine deltaTransformPoint()
yönteminin dönüşümü, tx
ve ty
çeviri parametrelerini göz önüne almaz.
Parametreler
point:Point — Matris dönüşümünün sonucunu almak istediğiniz nokta.
|
Point — Matris dönüşümünün uygulanmasıyla elde edilen nokta.
|
identity | () | yöntem |
public function identity():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Her matris özelliğini boş bir dönüşüme neden olan bir değere ayarlar. Kimlik matrisi uygulanarak dönüştürülen bir nesne, orijinal ile aynı olur.
identity()
yöntemi çağrıldıktan sonra, elde edilen matris şu özelliklere sahip olur: a
=1, b
=0, c
=0, d
=1, tx
=0, ty
=0.
Matris notasyonunda kimlik matrisi şu şekilde görünür:
invert | () | yöntem |
public function invert():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Orijinal matrisin zıt dönüşümünü gerçekleştirir. Orijinal matrisi uygularken gerçekleştirilen dönüşümü geri almak için bir nesneye ters çevrilmiş bir matris uygulayabilirsiniz.
Örnek ( Bu örnek nasıl kullanılır? )
doubleScaleMatrix
öğesinin invert()
yöntemi çağrılarak bir halfScaleMatrix
oluşturulmaktadır. Ardından noScaleMatrix
öğesine eşit olan originalAndInverseMatrix
öğesini oluşturarak; bu iki öğenin birbirinin Matrix tersi, başka bir deyişle diğeri tarafından gerçekleştirilen tüm dönüşümleri geri alan birer matris olduğunu gösterir.
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 | () | yöntem |
public function rotate(angle:Number):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Matrix nesnesine bir döndürme dönüşümü uygular.
rotate()
yöntemi, Matrix nesnesinin a
, b
, c
ve d
özelliklerini değiştirir. Matris notasyonunda bu, geçerli matrisi şununla birleştirmekle aynıdır:
Parametreler
angle:Number — Radyan olarak, döndürme açısı.
|
scale | () | yöntem |
public function scale(sx:Number, sy:Number):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Matrise bir ölçekleme dönüşümü uygular. x ekseni sx
ile çarpılır ve y ekseni sy
ile çarpılır.
scale()
yöntemi, Matrix nesnesinin a
ve d
özelliklerini değiştirir. Matris notasyonunda bu, geçerli matrisi şu matrisle birleştirmekle aynıdır:
Parametreler
sx:Number — Nesneyi x ekseni boyunca ölçeklemek için kullanılan bir çarpan.
| |
sy:Number — Nesneyi y ekseni boyunca ölçeklemek için kullanılan bir çarpan.
|
setTo | () | yöntem |
public function setTo(aa:Number, ba:Number, ca:Number, da:Number, txa:Number, tya:Number):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 11, AIR 3.0, Flash Lite 4 |
Matrix öğesinin üyelerini belirtilen değerlere ayarlar
Parametreler
aa:Number — matrisin ayarlanacağı değerler.
| |
ba:Number | |
ca:Number | |
da:Number | |
txa:Number | |
tya:Number |
toString | () | yöntem |
transformPoint | () | yöntem |
public function transformPoint(point:Point):Point
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Matrix nesnesinin temsil ettiği geometrik dönüşümün belirtilen noktaya uygulanmasıyla elde edilen sonucu döndürür.
Parametreler
point:Point — Matris dönüştürme işleminin sonucunu almak istediğiniz nokta.
|
Point — Matris dönüşümünün uygulanmasıyla elde edilen nokta.
|
translate | () | yöntem |
public function translate(dx:Number, dy:Number):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Matrisi,dx
ve dy
parametreleri tarafından belirtildiği gibi x ve y eksenleri boyunca çevirir.
Parametreler
dx:Number — Piksel olarak, x ekseni boyunca sağa doğru hareket miktarı.
| |
dy:Number — Piksel olarak, y ekseni boyunca aşağı doğru hareket miktarı.
|
MatrixExample
sınıfını kullanır. Bu işlem, aşağıdaki adımlar uygulanarak gerçekleştirilir:
- Uygulama yeni bir Matrix nesnesi
myMatrix
öğesi oluşturur vemyMatrix
nesnesinin varsayılan özellik değerlerini vermek içintrace()
yöntemini kullanır. - Uygulama,
width
veheight
parametreleri 200 piksele ayarlanmış durumdayken, döndürme yokken ve x ile y eksenleri boyunca çevrilecek mesafe 50 piksele ayarlanmış durumdaykencreateGradientBox()
öğesini çağırır. - Uygulama,
createGradientBox()
öğesi çağrıldıktan sonraki değişikliği göstermek içinmyMatrix
nesnesini yeniden yazdırır. - Uygulama, degrade kutunun nasıl doldurulacağını kontrol etmek için üç değişken oluşturur:
renkler
: Degrade renkleri düz kırmızı ve düz mavi arasında değişecek şekilde ayarlar.alfalar
: Opaklığı düze ayarlar.oranlar
: Renklerin dağılımını hem kırmızı hem mavi için eşit olacak şekilde ayarlar.
- Uygulama,
myMatrix
nesnesinde çalışanbeginGradientFill()
grafik yöntemini çağırır velineTo()
yöntemini çağırır; bunun sonucu olarak degrade ile doldurulmuş kutu oluşturulur.
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:09 PM Z