Flash Player ve AIR çalışma zamanında 3B görüntüleme nesnelerini anlama

Flash Player 10 ve üstü, Adobe AIR 1.5 ve üstü

Flash Player 10'dan önceki Flash Player sürümlerinde ve Adobe AIR 1.5'ten önceki Adobe AIR sürümlerinde, görüntüleme nesnelerinin, onları 2B düzleme konumlandırmaya yarayan, x ve y olmak üzere iki özelliği vardı. Flash Player 10 ve Adobe AIR 1.5'ten itibaren her ActionScript görüntüleme nesnesi, z ekseni boyunca nesneyi konumlandırmanızı sağlayan ve genellikle derinlik ve mesafe belirtmek için kullanılan bir z özelliğine sahiptir.

Flash Player 10 ve Adobe AIR 1.5, 3B efektler için destek sağlar. Ancak görüntüleme nesneleri yapısı gereği yassıdır. MovieClip nesnesi veya Sprite nesnesi gibi her görüntüleme nesnesi, sonuç olarak tek bir düzlemde iki boyutlu olarak kendisini oluşturur. 3B özellikler, bu düzlemsel nesneleri üç yönde de yerleştirmenize, taşımanıza, döndürmenize ve dönüştürmenize olanak sağlar. Bunlar ayrıca 3B nesneleri 2B görünümde yansıtabilmeniz için 3B noktaları yönetmenize ve 2B x, y koordinatlarına dönüştürmenize olanak sağlar. Bu özellikleri kullanarak çok çeşitli 3B deneyimlerini simüle edebilirsiniz.

ActionScript tarafından kullanılan 3B koordinat sistemi, diğer sistemlerden farklılık gösterir. ActionScript'te 2B koordinatları kullandığınızda, x ekseni boyunca sağa doğru hareket ettiğinizde x değeri artar ve y ekseni boyunca aşağı doğru hareket ettiğinizde de y değeri artar. 3B koordinat sistemi, bu kuralları korur ve görüş açısından hareket etikçe değeri artan bir z ekseni ekler.

ActionScript 3B koordinat sisteminde x, y ve z eksenlerinin pozitif yönleri.
A.
+ Z ekseni

B.
Kaynak

C.
+X ekseni

D.
+Y ekseni

Not: Flash Player ve AIR uygulamasının her zaman katmanlarda 3B'yi temsil ettiğini unutmayın. Başka bir deyişle, görüntüleme listesinde A nesnesi B nesnesinin önündeyse, Flash Player veya AIR uygulaması iki nesnenin z ekseni değerlerini dikkate almaksızın her zaman A'yı B'nin önünde oluşturur. Görüntüleme listesi sıralaması ile z ekseni sıralaması arasındaki bu çakışmayı çözümlemek için, 3B görüntüleme nesnelerinin katmanlarını kaydetmek ve yeniden sıralamak için transform.getRelativeMatrix 3D() yöntemini kullanın. Daha fazla bilgi için bkz. Görüntünün yeniden sıralanması için Matrix3D nesnelerini kullanma .

Şu ActionScript sınıfları, yeni 3B ile ilgili özellikleri destekler:

  1. flash.display.DisplayObject sınıfı, z özelliğini ve 3B alanda görüntüleme nesnelerinin işlenmesine yönelik yeni dönüş ve ölçekleme özelliklerini içerir. DisplayObject.local3DToGlobal() yöntemi, 3B geometriyi 2B düzleme yansıtmanın basit bir yolunu sunar.

  2. flash.geom.Vector3D sınıfı, 3B noktaların yönetilmesine yönelik bir veri yapısı olarak kullanılabilir. Bu, vektör matematiğini de destekler.

  3. flash.geom.Matrix3D sınıfı, 3B geometrisinin döndürme, ölçekleme ve çevirme gibi karmaşık dönüştürmelerini destekler.

  4. flash.geom.PerspectiveProjection sınıfı, 3B geometrisinin 2B görünümüne eşlenmesine yönelik parametreleri denetler.

ActionScript'te 3B görüntülerin simüle edilmesine yönelik iki farklı yaklaşım mevcuttur:

  1. 3B alanda düzlemsel nesneleri düzenleme ve bu nesnelere animasyon uygulama. Bu yaklaşım, x, y ve z özellikleri kullanılarak görüntüleme nesnelerine animasyon uygulanmasını veya DisplayObject sınıfı kullanılarak dönüş ve ölçekleme özelliklerinin ayarlanmasını içerir. DisplayObject.transform.matrix3D nesnesi kullanılarak daha karmaşık hareketler elde edilebilir. DisplayObject.transform.perspectiveProjection nesnesi, görüntüleme nesnelerinin 3B perspektifte çizilme şeklini özelleştirir. Öncelikli olarak düzlemlerden oluşan 3B nesnelere animasyon uygulamak istediğinizde bu yaklaşımı kullanın. Bu yaklaşımın örnekleri arasında, 3B görüntü galerileri veya 3B düzlemde düzenlenmiş 2B animasyon nesneleri yer alır.

  2. 3B geometrisinden 2B üçgenler oluşturma ve bu üçgenleri dokularla oluşturma. Bu yaklaşımı kullanmak için öncelikle 3B nesnelerle ilgili verileri tanımlayıp yönetmeniz ve sonra oluşturma işlemi için bu verileri 2B üçgenlere dönüştürmeniz gerekir. Bitmap dokular bu üçgenlere eşlenebilir ve sonra üçgenler Graphics.drawTriangles() yöntemi kullanılarak bir grafik nesnesine çizilir. Bu yaklaşımın örnekleri arasında, dosyadan 3B model verilerinin yüklenip ekranda modelin oluşturulması veya 3B bölgenin oluşturulup üçgen kafesleri olarak çizilmesi yer alır.