Paket | flash.display |
Sınıf | public class DisplayObject |
Miras Alma | DisplayObject EventDispatcher Object |
Uygular | IBitmapDrawable |
Alt Sınıflar | AVM1Movie, Bitmap, InteractiveObject, MorphShape, Shape, StaticText, Video |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObject sınıfı, bir nesnenin x ve y konumu gibi temel işlevlerinin yanı sıra nesnenin dönüştürme matrisi gibi daha gelişmiş özelliklerini de destekler.
DisplayObject soyut bir taban sınıfıdır; bu nedenle, DisplayObject öğesini doğrudan çağıramazsınız. new DisplayObject()
öğesinin çağrılması bir ArgumentError
istisnası atar.
Tüm görüntüleme nesneleri, DisplayObject sınıfından miras alır.
DisplayObject sınıfı, ekranda içerik oluşturmaya yönelik API'ler içermez. Bu nedenle, InteractiveObject sınıfının özel bir alt sınıfını oluşturmak isterseniz, bu sınıfın ekranda içerik oluşturmaya yönelik API'leri içermeyen alt sınıflarından birini (örn. Shape, Sprite, Bitmap, SimpleButton, TextField veya MovieClip sınıfı) genişletirsiniz.
Bir çok broadcast olayı içeren DisplayObject sınıfı. Normalde, herhangi belirli bir olayın hedefi belirli bir DisplayObject örneğidir. Örneğin, bir added
olayının hedefi, görüntüleme listesine eklenen belirli bir DisplayObject örneğidir. Tek bir hedefin olması, olay dinleyicilerinin yerleşimini söz konusu hedefle ve bazı durumlarda ise hedefin görüntüleme listesindeki üst öğeleriyle sınırlar. Ancak broadcast olaylarında hedef, belirli bir DisplayObject değil; görüntüleme listesinde olmayanlar da dahil tüm DisplayObject örnekleridir. Yani, broadcast olaylarını dinlemek için herhangi bir DisplayObject örneğine dinleyici ekleyebilirsiniz. DisplayObject sınıfının Olaylar tablosunda listelenen yayınlama olaylarına ek olarak, DisplayObject sınıfı aynı zamanda EventDispatcher sınıfından iki yayınlama olayını miras alır: activate
ve deactivate
.
ActionScript 1.0 ve 2.0 MovieClip, TextField ve Button sınıflarında önceden kullanılan bazı özelliklerin (örn. _alpha
, _height
, _name
, _width
, _x
, _y
ve diğerleri) ActionScript 3.0 DisplayObject sınıfında artık alt çizgi (_) karakteriyle başlamaması için yeniden adlandırılmış eşdeğerleri vardır.
Daha fazla bilgi için ActionScript 3.0 Geliştirici Kılavuzu'ndaki "Ekran Programlama" bölümüne bakın.
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
accessibilityProperties : AccessibilityProperties
Bu görüntüleme nesnesi için geçerli erişilebilirlik seçenekleri. | DisplayObject | ||
alpha : Number
Belirtilen nesnenin alfa saydamlık değerini gösterir. | DisplayObject | ||
blendMode : String
Hangi karışım modunun kullanılacağını belirten bir BlendMode sınıfı değeri. | DisplayObject | ||
blendShader : Shader [salt yazılır]
Ön planı ve arka planı karıştırmak için kullanılacak bir gölgelendirici ayarlar. | DisplayObject | ||
cacheAsBitmap : Boolean
true olarak ayarlanırsa, Flash çalışma zamanları, görüntüleme nesnesinin dahili bir bitmap temsilini önbelleğe alır. | DisplayObject | ||
cacheAsBitmapMatrix : Matrix
Bu Matrix nesnesi null olmazsa, görüntüleme nesnesinin cacheAsBitmap true olarak ayarlandığı zaman nasıl oluşturacağını tanımlar. | DisplayObject | ||
constructor : Object
Belirli bir nesne örneği için sınıf nesnesine veya yapıcı işlevine bir başvuru. | Object | ||
filters : Array
Geçerli olarak görüntüleme nesnesiyle ilişkilendirilmiş her filtre nesnesini içeren dizinli bir dizi. | DisplayObject | ||
height : Number
Görüntüleme nesnesinin yüksekliğini, piksel cinsinden belirtir. | DisplayObject | ||
loaderInfo : LoaderInfo [salt okunur]
Bu görüntüleme nesnesinin ait olduğu dosyayı yükleme hakkında bilgi içeren bir LoaderInfo nesnesi döndürür. | DisplayObject | ||
mask : DisplayObject
Çağıran görüntüleme nesnesi belirtilen mask nesnesiyle maskelenir. | DisplayObject | ||
metaData : Object
Meta veri SWF dosyasında PlaceObject4 aracılığıyla söz konusu DisplayObject örneğinin yanında depolanmışsa, DisplayObject örneğinin meta veri nesnesini alır. | DisplayObject | ||
mouseX : Number [salt okunur]
Farenin veya kullanıcı girdi aygıtı konumunun x koordinatını piksel olarak belirtir. | DisplayObject | ||
mouseY : Number [salt okunur]
Farenin veya kullanıcı girdi aygıtı konumunun y koordinatını piksel olarak belirtir. | DisplayObject | ||
name : String
DisplayObject öğesinin örnek adını belirtir. | DisplayObject | ||
opaqueBackground : Object
Görüntüleme nesnesinin belirli bir arka plan rengiyle opak olup olmadığını belirtir. | DisplayObject | ||
parent : DisplayObjectContainer [salt okunur]
Bu görüntüleme nesnesini içeren DisplayObjectContainer nesnesini belirtir. | DisplayObject | ||
root : DisplayObject [salt okunur]
Yüklü bir SWF dosyasındaki bir görüntüleme nesnesi için root özelliği, görüntüleme listesi ağaç yapısının o SWF dosyası tarafından temsil edilen kısmındaki en üst görüntüleme nesnesidir. | DisplayObject | ||
rotation : Number
DisplayObject örneğinin başlangıç yönlendirmesinden itibaren döndürülmesini derece olarak belirtir. | DisplayObject | ||
rotationX : Number
DisplayObject örneğinin, 3B üst kabına göre başlangıç yönlendirmesinden itibaren x ekseninde döndürülmesini derece olarak belirtir. | DisplayObject | ||
rotationY : Number
DisplayObject örneğinin, 3B üst kabına göre başlangıç yönlendirmesinden itibaren y ekseninde döndürülmesini derece olarak belirtir. | DisplayObject | ||
rotationZ : Number
DisplayObject örneğinin, 3B üst kabına göre başlangıç yönlendirmesinden itibaren z ekseninde döndürülmesini derece olarak belirtir. | DisplayObject | ||
scale9Grid : Rectangle
Etkin durumdaki geçerli ölçekleme ızgarası. | DisplayObject | ||
scaleX : Number
Nesnenin, kayıt noktasından itibaren uygulandığı haliyle yatay ölçeğini (percentage) belirtir. | DisplayObject | ||
scaleY : Number
Nesnenin kayıt noktasından itibaren uygulandığı haliyle nesnenin dikey ölçeğini (percentage) belirtir. | DisplayObject | ||
scaleZ : Number
Nesnenin kayıt noktasından itibaren uygulandığı haliyle nesnenin derinlik ölçeğini (percentage) belirtir. | DisplayObject | ||
scrollRect : Rectangle
Görüntüleme nesnesinin kaydırma dikdörtgeni sınırları. | DisplayObject | ||
stage : Stage [salt okunur]
Görüntüleme nesnesinin Sahne Alanı. | DisplayObject | ||
transform : flash.geom:Transform
Bir görüntüleme nesnesinin matrisi, renk dönüşümü ve piksel sınırları ile ilgili özellikleri olan bir nesne. | DisplayObject | ||
visible : Boolean
Görüntüleme nesnesinin görünür olup olmadığı. | DisplayObject | ||
width : Number
Görüntüleme nesnesinin genişliğini, piksel cinsinden belirtir. | DisplayObject | ||
x : Number
DisplayObject örneğinin DisplayObjectContainer üst öğesinin yerel koordinatlarına göre x koordinatını belirtir. | DisplayObject | ||
y : Number
DisplayObject örneğinin DisplayObjectContainer üst öğesinin yerel koordinatlarına göre y koordinatını belirtir. | DisplayObject | ||
z : Number
3B üst kabına göre DisplayObject örneğinin z ekseni boyunca z koordinatı konumunu belirtir. | DisplayObject |
Yöntem | Tanımlayan: | ||
---|---|---|---|
addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
EventDispatcher nesnesi olan bir olay dinleyici nesnesini, dinleyicinin bir olayın bildirimini alması için kaydeder. | EventDispatcher | ||
Olay akışına bir olay gönderir. | EventDispatcher | ||
Görüntüleme nesnesinin alanını targetCoordinateSpace nesnesinin koordinat sistemine göre tanımlayan bir dikdörtgen döndürür. | DisplayObject | ||
targetCoordinateSpace parametresince tanımlanan koordinat sistemini esas alarak ve her tür çizgi ve şekli dışarıda bırakarak görüntüleme nesnesinin sınırlarını tanımlayan bir dikdörtgen döndürür. | DisplayObject | ||
point nesnesini, Sahne Alanı (global) koordinatlarından görüntüleme nesnesinin (yerel) koordinatlarına dönüştürür. | DisplayObject | ||
Sahne Alanı (global) koordinatlarından iki boyutlu noktayı üç boyutlu görüntüleme nesnesinin (yerel) koordinatlarına dönüştürür. | DisplayObject | ||
EventDispatcher nesnesinin belirli bir olay türü için kayıtlı dinleyicisi olup olmadığını kontrol eder. | EventDispatcher | ||
Bir nesnenin belirli bir özelliğinin tanımlı olup olmadığını gösterir. | Object | ||
obj görüntüleme nesnesinin sınırlayıcı kutusuyla örtüşüp örtüşmediğini veya kesişip kesişmediğini görmek için görüntüleme nesnesinin sınırlayıcı kutusunu değerlendirir. | DisplayObject | ||
Görüntüleme nesnesinin x ve y parametreleriyle belirtilen noktayla örtüştüğünü veya kesiştiğini görmek için görüntüleme nesnesini değerlendirir. | DisplayObject | ||
Object sınıfının bir örneğinin parametre olarak belirtilen nesnenin prototip zincirinde olup olmadığını gösterir. | Object | ||
Üç boyutlu görüntüleme nesnesinin (yerel) koordinatlarının üç boyutlu noktasını, Sahne Alanı (global) koordinatlarındaki iki boyutlu noktaya dönüştürür. | DisplayObject | ||
point nesnesini, görüntüleme nesnesinin (yerel) koordinatlarından Sahne Alanı (global) koordinatlarına dönüştürür. | DisplayObject | ||
Belirtilen özelliğin bulunup bulunmadığını ve numaralandırılabilir olup olmadığını gösterir. | Object | ||
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. | EventDispatcher | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Bu nesnenin, yerel ayara özel kurallara göre biçimlendirilmiş dize temsilini döndürür. | Object | ||
Belirtilen nesnenin dize olarak temsil edilen halini döndürür. | Object | ||
Belirtilen nesnenin temel değerini döndürür. | Object | ||
Bir olay dinleyicisinin bu EventDispatcher nesnesiyle mi, yoksa onun belirtilen olay türüne yönelik üst öğelerinden biriyle mi kayıtlı olduğunu kontrol eder. | EventDispatcher |
Olay | Özet | Tanımlayan: | ||
---|---|---|---|---|
[broadcast olayı] Flash Player veya AIR uygulaması işletim sistemi odağına gelip etkin olduğunda gönderilir. | EventDispatcher | |||
Görüntüleme listesine bir görüntüleme nesnesi eklendiğinde gönderilir. | DisplayObject | |||
Doğrudan veya görüntüleme nesnesini içeren alt ağacın eklenmesiyle, sahne alanı görüntüleme listesine bir görüntüleme nesnesi eklenmek üzereyken gönderilir. | DisplayObject | |||
[broadcast olayı] Çalışan Flash Player veya AIR uygulaması sistem odağını kaybettiğinde ve etkin olmayan duruma geldiğinde gönderilir. | EventDispatcher | |||
[broadcast olayı] Oynatma kafası yeni bir kareye girerken gönderilir. | DisplayObject | |||
[broadcast olayı] Oynatma kafası geçerli kareden çıkarken gönderilir. | DisplayObject | |||
[broadcast olayı] Kare görüntüleme nesnelerinin yapıcıları çalıştırıldıktan sonra ancak kare komut dosyaları çalıştırılmadan önce gönderilir. | DisplayObject | |||
Görüntüleme listesinden bir ekran nesnesi kaldırılmak üzereyken gönderilir. | DisplayObject | |||
Ya doğrudan ya da ekran nesnesini içeren alt ağacın kaldırılmasıyla, sahne görüntüleme listesinden bir ekran nesnesi kaldırılmak üzereyken gönderilir. | DisplayObject | |||
[broadcast olayı] Ekran güncellenmek ve oluşturulmak üzereyken gönderilir. | DisplayObject |
accessibilityProperties | özellik |
accessibilityProperties:AccessibilityProperties
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Bu görüntüleme nesnesi için geçerli erişilebilirlik seçenekleri. accessibilityProperties
özelliğini veya accessibilityProperties
içindeki alanlardan herhangi birini değiştirirseniz, değişikliklerinizin etkili olması için Accessibility.updateProperties()
yöntemini çağırmanız gerekir.
Not: Flash geliştirme ortamında oluşturulan bir nesne için, accessibilityProperties
öğesi, Accessibility paneline o nesneyle ilgili girdiğiniz tüm bilgilerle önceden doldurulur.
Uygulama
public function get accessibilityProperties():AccessibilityProperties
public function set accessibilityProperties(value:AccessibilityProperties):void
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
import flash.text.TextField; import flash.accessibility.AccessibilityProperties; import flash.accessibility.Accessibility; import flash.system.Capabilities; var tf:TextField = new TextField(); tf.text = "hello"; var accessProps:AccessibilityProperties = new AccessibilityProperties(); accessProps.name = "Greeting"; tf.accessibilityProperties = accessProps; if (Capabilities.hasAccessibility) { Accessibility.updateProperties(); } trace(tf.accessibilityProperties.name); // Greeting
alpha | özellik |
alpha:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Belirtilen nesnenin alfa saydamlık değerini gösterir. Geçerli değerler 0 (tam saydam) ile 1 (tam opak) şeklindedir. Varsayılan değer 1'dir. alpha
özelliği 0 olarak ayarlanmış görüntüleme nesneleri görünmez olsa da etkindir.
Uygulama
public function get alpha():Number
public function set alpha(value:Number):void
Örnek ( Bu örnek nasıl kullanılır? )
alpha
özelliğini %50 değerine ayarlar:
import flash.display.Sprite; import flash.events.MouseEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFF0000); circle.graphics.drawCircle(40, 40, 40); addChild(circle); circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject); circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject); function dimObject(event:MouseEvent):void { event.target.alpha = 0.5; } function restoreObject(event:MouseEvent):void { event.target.alpha = 1.0; }
blendMode | özellik |
blendMode:String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Hangi karışım modunun kullanılacağını belirten bir BlendMode sınıfı değeri. Bir bitmap dahili olarak iki şekilde çizilebilir. Etkin bir karışım modu veya harici bir kırpma maskesi varsa, vektör oluşturucuya bitmap dolgulu bir kare şekli eklenerek bitmap çizilir. Bu özelliği geçersiz bir değere ayarlamaya çalışırsanız, Flash çalışma zamanları bu değeri BlendMode.NORMAL
olarak ayarlar.
blendMode
özelliği, görüntüleme nesnesinin her pikselini etkiler. Her piksel üç renkten (kırmızı, yeşil ve mavi) oluşur ve pikseli oluşturan her renk 0x00 ile 0xFF arasında bir değere sahiptir. Flash Player veya Adobe AIR, film klibindeki bir pikseli oluşturan her bir rengi arka plandaki pikselin karşılık gelen rengiyle karşılaştırır. Örneğin, blendMode
öğesi BlendMode.LIGHTEN
olarak ayarlanırsa, Flash Player veya Adobe AIR, görüntüleme nesnesinin kırmızı değerini arka planın kırmızı değeriyle karşılaştırır ve bunlardan daha açık renkli olanını görüntülenen rengin kırmızı bileşeninin değeri olarak kullanır.
Şu tablo blendMode
ayarlarını açıklar. BlendMode sınıfı, kullanabileceğiniz dize değerlerini tanımlar. Tablodaki resimler, bir görüntüleme nesnesinin (1) üzerine eklenmiş dairesel bir görüntüleme nesnesine (2) uygulanan blendMode
değerlerini gösterir.
BlendMode Sabiti | Resim | Açıklama |
---|---|---|
BlendMode.NORMAL | Görüntüleme nesnesi arka planın önünde görüntülenir. Görüntüleme nesnesinin piksel değerleri, arka planın piksel değerlerini geçersiz kılar. Görüntüleme nesnesi saydam olduğunda arka plan görünebilir. | |
BlendMode.LAYER | Görüntüleme nesnesi için bir saydamlık grubu oluşturmaya zorlar. Başka bir deyişle, görüntüleme nesnesi, daha fazla işlenmeden önce geçici bir arabellekte önceden oluşturulur. Bitmap önbelleğe alma yoluyla görüntüleme nesnesi önceden önbelleğe alınırsa veya görüntüleme nesnesi, BlendMode.NORMAL dışında bir blendMode ayarına sahip en az bir alt nesne içeren bir görüntüleme nesnesi kabıysa, bu işlem otomatik olarak yapılır. GPU görüntü oluşturma altında desteklenmez.
| |
BlendMode.MULTIPLY | Görüntüleme nesnesini oluşturan renkleri arka plan rengini oluşturan renkler ile çarpar ve 0xFF ile bölerek normalleştirir, sonuçta daha koyu renkler elde eder. Bu ayar, gölgeler ve derinlik efektleri için yaygın olarak kullanılır.
Örneğin görüntüleme nesnesinde bir pikseli oluşturan renk (örn. kırmızı) ile arka plandaki pikselin karşılık gelen rengin ikisi de 0x88 değerine sahipse, çarpma sonucu 0x4840 olur. 0xFF ile bölünmesi, o oluşturan renk için 0x48 değerini verir ve bu da görüntüleme nesnesinin renginden veya arka plan renginden daha koyu bir gölge sağlar. | |
BlendMode.SCREEN | Görüntüleme nesnesi renginin tamlayanını (tersini) arka plan renginin tamlayanı ile çarpar, sonuçta bir renk açma efekti elde edilir. Bu ayar, vurgular için veya görüntüleme nesnesinin siyah alanlarını kaldırmak için yaygın olarak kullanılır. | |
BlendMode.LIGHTEN | Görüntüleme nesnesini oluşturan renklerden ve arka plan renginden daha açık olanını (daha büyük değerli renkler) seçer. Bu ayar, yaygın olarak üzerine ekleme türü için kullanılır.
Örneğin görüntüleme nesnesinin 0xFFCC33 RGB değerine sahip bir pikseli ve 0xDDF800 RGB değerine sahip arka plan pikseli varsa, görüntülenen pikselin sonuç RGB değeri, 0xFFF833 olur (0xFF > 0xDD, 0xCC < 0xF8 ve 0x33 > 0x00 = 33 olması nedeniyle). GPU görüntü oluşturma altında desteklenmez. | |
BlendMode.DARKEN | Görüntüleme nesnesini oluşturan renklerden ve arka plan renklerinden daha koyu olanını (daha küçük değerli renkler) seçer. Bu ayar, yaygın olarak üzerine ekleme türü için kullanılır.
Örneğin görüntüleme nesnesinin 0xFFCC33 RGB değerine sahip bir pikseli ve 0xDDF800 RGB değerine sahip arka plan pikseli varsa, görüntülenen pikselin sonuç RGB değeri, 0xDDCC00 olur (0xFF > 0xDD, 0xCC < 0xF8 ve 0x33 > 0x00 = 33 olması nedeniyle). GPU görüntü oluşturma altında desteklenmez. | |
BlendMode.DIFFERENCE | Görüntüleme nesnesini oluşturan renkleri arka planının renkleri ile karşılaştırır ve oluşturan iki renkten daha koyu olanın değerlerini daha açık olanın değerinden çıkarır. Bu ayar yaygın olarak daha canlı renkler için kullanılır.
Örneğin görüntüleme nesnesinin 0xFFCC33 RGB değerine sahip bir pikseli ve 0xDDF800 RGB değerine sahip arka plan pikseli varsa, görüntülenen pikselin sonuç RGB değeri, 0x222C33 olur (0xFF - 0xDD = 0x22, 0xF8 - 0xCC = 0x2C ve 0x33 - 0x00 = 0x33 olması nedeniyle). | |
BlendMode.ADD | Görüntüleme nesnesini oluşturan renklerin değerlerini, 0xFF düzeyinde bir tavan uygulayarak arka planının renklerine ekler. Bu ayar, yaygın olarak iki nesne arasında bir açıklaştırma erimesi animasyonu için kullanılır.
Örneğin görüntüleme nesnesinin 0xAAA633 RGB değerine sahip bir pikseli ve 0xDD2200 RGB değerine sahip arka plan pikseli varsa, görüntülenen pikselin sonuç RGB değeri, 0xFFC833 olur (0xAA + 0xDD > 0xFF, 0xA6 + 0x22 = 0xC8 ve 0x33 + 0x00 = 0x33 olması nedeniyle). | |
BlendMode.SUBTRACT | Görüntüleme nesnesini oluşturan renklerin değerlerini arka plan renginin değerinden çıkarır ve 0 tabanını uygular. Bu ayar, yaygın olarak iki nesne arasında bir koyulaştırma erimesi animasyonu için kullanılır.
Örneğin görüntüleme nesnesinin 0xAA2233 RGB değerine sahip bir pikseli ve 0xDDA600 RGB değerine sahip arka plan pikseli varsa, görüntülenen pikselin sonuç RGB değeri, 0x338400 olur (0xDD - 0xAA = 0x33, 0xA6 - 0x22 = 0x84 ve 0x00 - 0x33 < 0x00 olması nedeniyle). | |
BlendMode.INVERT | Arka planı ters çevirir. | |
BlendMode.ALPHA | Ekran nesnesinin her pikselinin alfa değerini arka plana uygular. Bunun için, üst görüntüleme nesnesinin blendMode ayarının BlendMode.LAYER olarak ayarlanması gerekir. Örneğin, resimde, beyaz arka plan olan üst görüntüleme nesnesi blendMode = BlendMode.LAYER öğesine sahiptir. GPU görüntü oluşturma altında desteklenmez. | |
BlendMode.ERASE | Arka planı, ekran nesnesinin alfa değerini esas alarak siler. Bunun için, üst görüntüleme nesnesinin blendMode öğesinin BlendMode.LAYER olarak ayarlanması gerekir. Örneğin, resimde, beyaz arka plan olan üst görüntüleme nesnesi blendMode = BlendMode.LAYER öğesine sahiptir. GPU görüntü oluşturma altında desteklenmez. | |
BlendMode.OVERLAY | Arka planın koyuluğunu esas alarak her pikselin rengini ayarlar. Arka plan, %50 griden daha açıksa, görüntüleme nesnesi ve arka plan renkleri taranır ve sonucunda daha açık renk elde edilir. Arka plan %50 griden daha koyuysa, renkler çarpılır ve sonucunda daha koyu renk elde edilir. Bu ayar, yaygın olarak gölgelendirme efektleri için kullanılır. GPU görüntü oluşturma altında desteklenmez. | |
BlendMode.HARDLIGHT | Görüntüleme nesnesinin koyuluğunu esas alarak her pikselin rengini ayarlar. Görüntüleme nesnesi %50 griden daha açıksa, görüntüleme nesnesi ve arka plan renkleri taranır ve sonucunda daha açık renk elde edilir. Görüntüleme nesnesi %50 griden daha koyuysa, renkler çarpılır ve sonucunda daha koyu renk elde edilir. Bu ayar, yaygın olarak gölgelendirme efektleri için kullanılır. GPU görüntü oluşturma altında desteklenmez. | |
BlendMode.SHADER | Yok | Özel bir gölgelendirici yordamı kullanarak rengi ayarlar. Kullanılan gölgelendirici, blendShader özelliğine atanan Shader örneği olarak belirtilir. Görüntüleme nesnesinin blendShader özelliğinin bir Shader örneğine ayarlanması, görüntüleme nesnesinin blendMode özelliğini otomatik olarak BlendMode.SHADER değerine ayarlar. İlk önce blendShader özelliği ayarlanmadan blendMode özelliği BlendMode.SHADER olarak ayarlanırsa, bunun yerine blendMode özelliği BlendMode.NORMAL olarak ayarlanır. GPU görüntü oluşturma altında desteklenmez. |
Uygulama
public function get blendMode():String
public function set blendMode(value:String):void
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
BlendMode.SUBTRACT
olarak ayarlar.
import flash.display.Sprite; import flash.display.BlendMode; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF88CC); square.graphics.drawRect(0, 0, 80, 80); addChild(square); var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xAA0022); circle.graphics.drawCircle(40, 40, 40); addChild(circle); circle.addEventListener(MouseEvent.MOUSE_OVER, dimObject); circle.addEventListener(MouseEvent.MOUSE_OUT, restoreObject); function dimObject(event:MouseEvent):void { event.target.blendMode = BlendMode.SUBTRACT; } function restoreObject(event:MouseEvent):void { event.target.blendMode = BlendMode.NORMAL; }
blendShader | özellik |
blendShader:Shader
[salt yazılır] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Ön planı ve arka planı karıştırmak için kullanılacak bir gölgelendirici ayarlar. blendMode
özelliği BlendMode.SHADER
olarak ayarlandığında, görüntüleme nesnesi için karışım modu oluşturmak üzere belirtilen Shader kullanılır.
Görüntüleme nesnesinin blendShader
özelliğinin bir Shader örneğine ayarlanması, görüntüleme nesnesinin blendMode
özelliğini otomatik olarak BlendMode.SHADER
değerine ayarlar. blendShader
özelliği ayarlanırsa (blendMode
özelliğini BlendMode.SHADER
olarak ayarlar), daha sonra blendMode
özelliğinin değeri değiştirilir, karışım gölgelendiricisini kullanmak için yalnızca blendMode
özelliği BlendMode.SHADER
değerine ayarlanarak karışım modu sıfırlanabilir. Karışım modu için kullanılan gölgelendiriciyi değiştirme durumu dışında blendShader
özelliğinin tekrar ayarlanması gerekmez.
blendShader
özelliğine atanan Shader öğesinin en az iki image4
girdisi belirtmesi gerekir. İlişkilendirilmiş ShaderInput nesnesinin input
özellikleri kullanılarak girdilerin kodda belirtilmesi gerekmez. Arka plan görüntüleme nesnesi otomatik olarak birinci girdi olarak kullanılır (index
0 değerine sahip girdi). Ön plan görüntüleme nesnesi ikinci girdi olarak kullanılır (index
1 değerine sahip girdi). Karışım gölgelendiricisi olarak kullanılan bir gölgelendirici, ikiden çok girdi belirtebilir. Bu durumda ShaderInput örneğinin input
özelliği ayarlanarak ek girdinin belirtilmesi gerekir.
Bu özelliğe bir Shader örneği atadığınızda, gölgelendirici dahili olarak kopyalanır. Karışım işlemi, orijinal gölgelendiricinin başvurusunu değil, bu dahili kopyayı kullanır. Gölgelendiriciye yapılan değişiklikler (örn. parametre değerini, girdiyi veya bayt kodunu değiştirme) karışım modu için kullanılan kopyalanmış gölgelendiriciye uygulanmaz.
Uygulama
public function set blendShader(value:Shader):void
Atar
ArgumentError — Gölgelendirici çıktı türü bu işlemle uyumlu olmadığında. (Gölgelendiricinin bir pixel4 çıktısı belirtmesi gerekir.)
| |
ArgumentError — Gölgelendirici ikiden az görüntü çıktısı belirttiğinde veya ilk iki girdi image4 girdisi olmadığında.
| |
ArgumentError — Gölgelendirici, sağlanmayan bir görüntü girdisi belirttiğinde.
| |
ArgumentError — ByteArray veya Vector olduğunda.<Number> örneği bir girdi olarak kullanılır ve ShaderInput için width ve height özellikleri belirtilmez veya belirtilen değerler girdi verisindeki veri miktarıyla eşleşmez. Daha fazla bilgi için ShaderInput.input özelliğine bakın.
|
İlgili API Öğeleri
cacheAsBitmap | özellik |
cacheAsBitmap:Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
true
olarak ayarlanırsa, Flash çalışma zamanları, görüntüleme nesnesinin dahili bir bitmap temsilini önbelleğe alır. Bu önbelleğe alma işlemi, karmaşık vektör içeriği barındıran görüntüleme nesnelerinin performansını artırabilir.
Önbelleğe alınan bitmap'i olan bir görüntüleme nesnesinin tüm vektör verisi, ana görüntü yerine bitmap'e çizilir. cacheAsBitmapMatrix
null değerindeyse veya desteklenmiyorsa, bitmap en yakın piksel sınırlarıyla kırpılmış uzatılmamış ve döndürülmemiş pikseller olarak ana ekrana kopyalanır. Pikseller üst nesneyle bire bir eşleştirilir. Bitmap'in sınırları değişirse, bitmap uzatılmak yerine yeniden oluşturulur.
cacheAsBitmapMatrix
null değilse ve destekleniyorsa, nesne bu matris kullanılarak ekran dışı bitmap'e çekilir ve bu oluşumun uzatılan ve/veya döndürülen sonuçları, nesnenin ana ekrana çekilmesi için kullanılır.
cacheAsBitmap
özelliği true
değerine ayarlanmazsa, herhangi bir dahili bitmap oluşturulmaz.
Siz cacheAsBitmap
özelliğini true
değerine ayarladıktan sonra, oluşturma değişmez ancak görüntüleme nesnesi otomatik olarak piksel bitiştirme işlemini gerçekleştirir. Vektör içeriğinin karmaşıklığına bağlı olarak, animasyon hızı çok daha yüksek olabilir.
Bir görüntüleme nesnesine her filtre uyguladığınızda (filter
dizisi boş olmadığında) cacheAsBitmap
özelliği otomatik olarak true
değerine ayarlanır ve bu görüntüleme nesnesine bir filtre uygulanmışsa, özelliği false
değerine ayarlasanız da o görüntüleme nesnesi için cacheAsBitmap
true
olarak bildirilir. Görüntüleme nesnesinin tüm filtrelerini temizlerseniz, cacheAsBitmap
ayarı en son ayarlandığı değere geçer.
cacheAsBitmap
özelliği true
değerine ayarlansa da, görüntüleme nesnesi bir bitmap kullanmaz ve bunun yerine şu durumlarda vektör verilerinden bitmap oluşturur:
- Bitmap çok büyük. AIR 1.5 ve Flash Player 10'da, bir bitmap görüntüsü için maksimum boyut genişlik ve yükseklikte 8.191 pikseldir ve toplam piksel sayısı 16.777.215'i geçemez. (Bu nedenle, bir bitmap görüntüsü 8.191 piksel genişliğindeyse en fazla 2.048 piksel yüksekliğinde olabilir.) Flash Player 9 ve daha önceki sürümlerde, sınırlama yükseklikte ve genişlikte 2880 pikseldir.
- Bitmap bellek ayırmayı başaramazsa (yetersiz bellek hatası).
cacheAsBitmap
özelliği, daha çok statik içeriğe sahip olan ve sık sık ölçeklenmeyen ve döndürülmeyen film klipleriyle en iyi şekilde kullanılır. Böyle film kliplerinde cacheAsBitmap
, film klibi çevrildiğinde (x ve y konumu değiştiğinde) performans artışı sağlar.
Uygulama
public function get cacheAsBitmap():Boolean
public function set cacheAsBitmap(value:Boolean):void
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
true
değerine ayarlanan cacheAsBitmap
özelliğinin değerini izler:
import flash.display.Sprite; import flash.filters.DropShadowFilter var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xAA0022); circle.graphics.drawCircle(40, 40, 40); addChild(circle); trace(circle.cacheAsBitmap); // false var filter:DropShadowFilter = new DropShadowFilter(); circle.filters = [filter]; trace(circle.cacheAsBitmap); // true
cacheAsBitmapMatrix | özellik |
cacheAsBitmapMatrix:Matrix
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2.0 |
Bu Matrix nesnesi null olmazsa, görüntüleme nesnesinin cacheAsBitmap
true olarak ayarlandığı zaman nasıl oluşturacağını tanımlar
. Uygulama bu matrisi, görüntüleme nesnesinin bitmap sürümü oluşturulurken başvurulan bir dönüşüm matrisi olarak kullanır.
AIR profil desteği: Bu özellik mobil aygıtlarda desteklenir ancak masaüstü işletim sistemlerinde desteklenmez. Ayrıca AIR for TV aygıtlarında sınırlı desteğe sahiptir. Özellikle AIR for TV aygıtlarında, desteklenen dönüştürmeler ölçeklemeyi ve çeviriyi içerir ancak döndürmeyi ve eğriltmeyi içermez. Birden fazla profilde API desteği ile ilgili daha fazla bilgi için bkz. AIR Profil Desteği.
cacheAsBitmapMatrix
ayarlı iken uygulama; çeviri, döndürme ve ölçekleme dahil olmak üzere çeşitli 2B dönüşümler üzerinden önbelleğe alınmış bir bitmap görüntüyü korur. Uygulama donanım hızlandırma kullanıyorsa, nesne bir video bellekte doku olarak saklanacaktır. Bu GPU'nun, desteklenen dönüşümleri nesneye uygulamasını sağlar. GPU bu dönüşümleri CPU'dan daha hızlı yapabilir.
Donanım hızlandırma kullanmak için, Flash Professional CS5'in içindeki iPhone Ayarları iletişim kutusunun Genel sekmesinde Oluşturma'yı GPU'ya ayarlayın. Veya renderMode
özelliğini uygulama açıklaması dosyasında gpu
olarak ayarlayın. AIR for TV aygıtlarının, mevcut olması halinde otomatik olarak donanım hızlandırma kullandığını unutmayın.
Örneğin, aşağıdaki kod görüntüleme nesnesinin dönüştürülmemiş bitmap temsilini GPU'ya yollar.
matrix:Matrix = new Matrix(); // creates an identity matrix mySprite.cacheAsBitmapMatrix = matrix; mySprite.cacheAsBitmap = true;
Genellikle kimlik matrisi (new Matrix()
) yeterlidir. Bunun yanı sıra GPU'ya değişik bir bitmap yüklemek için küçültülerek ölçeklenmiş matris gibi başka bir matrisi de kullanabilirsiniz. Örneğin, aşağıdaki örnek x ve y eksenleri boyunca 0.5 olarak ölçeklendirilmiş bir cacheAsBitmapMatrix
uygular. GPU'nun kullandığı bitmap nesnesi daha küçüktür ancak GPU bu nesnenin boyutunu görüntüleme nesnesinin matris özelliğiyle eşleşecek şekilde ayarlar.
matrix:Matrix = new Matrix(); // creates an identity matrix matrix.scale(0.5, 0.5); // scales the matrix mySprite.cacheAsBitmapMatrix = matrix; mySprite.cacheAsBitmap = true;
Genel olarak görüntüleme nesnesinin uygulamada görüneceği boyuta dönüştürecek bir matris seçmelisiniz. Örneğin, uygulamanız sprite nesnesinin bitmap halini 1/2 oranında ölçeklendiriyorsa 1/2 oranında ölçeklendiren bir matris seçin. Uygulamanız sprite nesnesini geçerli boyutlarından daha büyük olarak görüntüleyecekse, o oranda büyüterek ölçeklendiren bir matris kullanın.
Not: cacheAsBitmapMatrix
özelliği, 2B dönüşümler için uygundur. Dönüşümleri 3B olarak uygulamanız gerekiyorsa, bunu nesnenin 3B özelliğini ayarlayarak ve transform.matrix3D
özelliğini işleyerek yapabilirsiniz. Uygulama GPU modu kullanarak paketlenmişse, 3B dönüşümler GPU tarafından nesneye uygulanabilir. cacheAsBitmapMatrix
3B nesneler için yok sayılır.
Uygulama
public function get cacheAsBitmapMatrix():Matrix
public function set cacheAsBitmapMatrix(value:Matrix):void
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
my_shape
öğesinin bitmap haline dönüştürme uygulamak için cacheAsBitmapMatrix
uygular.
import flash.geom.Matrix; import flash.display.*; import flash.utils.Timer; var my_shape:MovieClip = new MovieClip(); my_shape.graphics.beginFill(0xCCFF00); my_shape.graphics.drawRect(200, 0, 100, 100); addChild(my_shape); var my_timer:Timer = new Timer(250); my_timer.start(); my_timer.addEventListener(TimerEvent.TIMER, timerHandler); // make sure this Display Object remains cached for all 2D transforms my_shape.cacheAsBitmap = true; my_shape.cacheAsBitmapMatrix = new Matrix(); // rotation variables const initAngle:Number = 0; const pi:Number = 3.142; const incrAngle:Number = pi/10; // scaling variables const initScale:Number = 0.25; const incrScale: Number = 1.1; var initHeight : Number = my_shape.height; var initWidth : Number = my_shape.width; // translation variables var incrX : Number = root.width / 20; var incrY : Number = root.height / 10; // do some initial transforms var tempMat : Matrix = my_shape.transform.matrix; tempMat.rotate(initAngle); tempMat.scale(initScale, initScale); my_shape.transform.matrix = tempMat; function timerHandler(evt:TimerEvent):void { tempMat = my_shape.transform.matrix; tempMat.rotate(incrAngle); tempMat.translate(incrX, incrY); tempMat.scale(incrScale, incrScale); my_shape.transform.matrix = tempMat; // ensure we are still in a reasonable state or reset if(my_shape.height > stage.stageHeight/2) { my_shape.height = initHeight; } if(my_shape.width > stage.stageWidth/2) { my_shape.width = initWidth; } if(my_shape.x > stage.stageWidth) { my_shape.x = 0; } else if (my_shape.x < 0) { my_shape.x = stage.stageWidth; } if(my_shape.y > stage.stageHeight) { my_shape.y = 0; } else if (my_shape.y < 0) { my_shape.y = stage.stageHeight; } }
filters | özellik |
filters:Array
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Geçerli olarak görüntüleme nesnesiyle ilişkilendirilmiş her filtre nesnesini içeren dizinli bir dizi. flash.filters paketi, kullanabileceğiniz belirli filtreleri tanımlayan birçok sınıfı içerir.
Filtreler, ActionScript kodu kullanılarak tasarım süresinde veya çalışma zamanında Flash Professional'da uygulanabilir. ActionScript kullanarak bir filtre uygulamak için, tüm filters
dizisinin geçici bir kopyasını yapmanız, geçici diziyi değiştirmeniz ve sonra geçici dizinin değerini geri filters
dizisine atamanız gerekir. filters
dizisine yeni bir filtre nesnesini doğrudan ekleyemezsiniz.
ActionScript kullanarak bir filtre eklemek için şu adımları uygulayın (hedef görüntüleme nesnesinin myDisplayObject
adında olduğu varsayılarak):
- Seçtiğiniz filter sınıfının yapıcı yöntemini kullanarak yeni bir filtre nesnesi oluşturun.
myFilters
adındaki gibi geçici bir diziyemyDisplayObject.filters
dizisinin değerini atayın.- Yeni filtre nesnesini
myFilters
geçici dizisine ekleyin. - Geçici dizinin değerini
myDisplayObject.filters
dizisine atayın.
filters
dizisi tanımsızsa, geçici bir dizi kullanmanız gerekmez. Bunun yerine, oluşturduğunuz bir veya birkaç filtre nesnesini içeren bir değişmez diziyi doğrudan atayabilirsiniz. Örnekler bölümündeki birinci örnek, hem tanımlı hem de tanımsız filters
dizilerini işleyen kodu kullanarak bir gölge filtresi ekler.
Mevcut bir filtre nesnesini değiştirmek için, filters
dizisinin bir kopyasını değiştirme tekniğini kullanmanız gerekir:
myFilters
adındaki gibi geçici bir diziyefilters
dizisinin değerini atayın.- Geçici diziyi (
myFilters
) kullanarak özelliği değiştirin. Örneğin, dizideki birinci filtrenin quality özelliğini ayarlamak için şu kodu kullanabilirsiniz:myFilters[0].quality = 1;
- Geçici dizinin değerini
filters
dizisine atayın.
Yükleme süresinde, bir görüntüleme nesnesinin ilişkilendirilmiş bir filtresi varsa, bu, saydam bir bitmap olarak önbelleğe alınması için işaretlenir. Bu noktadan sonra, görüntüleme nesnesinin geçerli bir filtre listesi olduğu sürece oynatıcı, görüntüleme nesnesini bir bitmap olarak önbelleğe alır. Bu kaynak bitmap'i, filtre efektleri için kaynak görüntü olarak kullanılır. Genellikle her görüntüleme nesnesinin iki bitmap'i vardır: biri orijinal filtrelenmemiş kaynak görüntüleme nesnesi ve diğeri filtrelemeden sonraki görüntü içindir. Oluşturma sırasında kullanılan son görüntü. Görüntüleme nesnesi değişmediği sürece, son görüntünün güncellenmesi gerekmez.
flash.filters paketi, filtreler için sınırları içerir. Örneğin, bir DropShadow filtresi oluşturmak için şu yazılır:
import flash.filters.DropShadowFilter var myFilter:DropShadowFilter = new DropShadowFilter (distance, angle, color, alpha, blurX, blurY, quality, inner, knockout)
filter
dizisindeki her dizin konumuna atanan filtre türünü belirlemek için is
operatörünü kullanabilirsiniz. Örneğin, şu kod, bir DropShadowFilter olan filters
dizisinde birinci filtrenin konumunun nasıl belirleneceğini gösterir:
import flash.text.TextField; import flash.filters.*; var tf:TextField = new TextField(); var filter1:DropShadowFilter = new DropShadowFilter(); var filter2:GradientGlowFilter = new GradientGlowFilter(); tf.filters = [filter1, filter2]; tf.text = "DropShadow index: " + filterPosition(tf, DropShadowFilter).toString(); // 0 addChild(tf) function filterPosition(displayObject:DisplayObject, filterClass:Class):int { for (var i:uint = 0; i < displayObject.filters.length; i++) { if (displayObject.filters[i] is filterClass) { return i; } } return -1; }
Not: DisplayObject.filters
dizisine doğrudan yeni bir filtre ekleyemeyeceğiniz için, şu kodun myDisplayObject
adındaki hedef görüntüleme nesnesi üzerinde herhangi bir etkisi yoktur:
myDisplayObject.filters.push(myDropShadow);
Uygulama
public function get filters():Array
public function set filters(value:Array):void
Atar
ArgumentError — filters bir ShaderFilter içerdiğinde ve gölgelendirici çıktı türü bu işlemle uyumlu olmadığında. (Gölgelendiricinin bir pixel4 çıktısı belirtmesi gerekir.)
| |
ArgumentError — filters bir ShaderFilter içerdiğinde ve gölgelendirici herhangi bir görüntü girdisi belirtmediğinde veya birinci girdi image4 girdisi olmadığında.
| |
ArgumentError — filters bir ShaderFilter içerdiğinde ve gölgelendirici sağlanmamış bir görüntü girdisi belirttiğinde.
| |
ArgumentError — filters bir ShaderFilter, ByteArray veya Vector içerdiğinde.Gölgelendirici girdisi olarak <Number> örneği ve width ve height özellikleri, ShaderInput nesnesi için belirtilmez veya belirtilen değerler girdi verisindeki veri miktarıyla eşleşmez. Daha fazla bilgi için ShaderInput.input özelliğine bakın.
|
İlgili API Öğeleri
height | özellik |
height: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üleme nesnesinin yüksekliğini, piksel cinsinden belirtir. Yükseklik, görüntüleme nesnesi içeriğinin sınırları esas alınarak hesaplanır. height
özelliğini ayarladığınızda, şu kodda gösterildiği gibi scaleY
özelliği de uygun şekilde ayarlanır:
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleY) // 1; rect.height = 200; trace(rect.scaleY) // 2;
TextField ve Video nesneleri dışında, içeriği olmayan bir görüntüleme nesnesinin (örn. boş bir hareketli grafik) height
öğesini farklı bir değere ayarlasanız da, bu nesnenin yüksekliği 0 olur.
Uygulama
public function get height():Number
public function set height(value:Number):void
Örnek ( Bu örnek nasıl kullanılır? )
textHeight
özelliğini esas alarak her birini height
özelliğini ayarlar; ayrıca y
özelliğini ayarlayarak ikinci metin alanını da konumlandırır:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
loaderInfo | özellik |
loaderInfo:LoaderInfo
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bu görüntüleme nesnesinin ait olduğu dosyayı yükleme hakkında bilgi içeren bir LoaderInfo nesnesi döndürür. loaderInfo
özelliği yalnızca bir SWF dosyasının kök görüntüleme nesnesi için veya yüklü bir Bitmap için (ActionScript ile çizilen bir Bitmap için değil) tanımlanır. myDisplayObject
adındaki bir görüntüleme nesnesini içeren SWF dosyasıyla ilişkilendirilmiş loaderInfo
nesnesini bulmak için, myDisplayObject.root.loaderInfo
öğesini kullanın.
Büyük bir SWF dosyası, this.root.loaderInfo.addEventListener(Event.COMPLETE, func)
öğesini çağırarak indirme işlemini izleyebilir.
Uygulama
public function get loaderInfo():LoaderInfo
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
this
öğesinin bir görüntüleme nesnesini ifade ettiğini varsayar. Bu kod, görüntüleme nesnesi için kök SWF dosyasının URL'sini çıktı olarak verir:
trace (this.loaderInfo.url);
mask | özellik |
mask:DisplayObject
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Çağıran görüntüleme nesnesi belirtilen mask
nesnesiyle maskelenir. Sahne Alanı ölçeklendiğinde maskelemenin çalışmasını sağlamak için, mask
görüntüleme nesnesi, görüntüleme listesinin etkin bir bölümünde olmalıdır. mask
nesnesi çizilmez. Maskeyi kaldırmak için mask
öğesini null
değerine ayarlayın.
Bir mask nesnesinin ölçeklenebilmesi için görüntüleme listesinde olması gerekir. Bir mask Sprite nesnesinin sürüklenebilmesi için (startDrag()
yöntemi çağrılarak) görüntüleme listesinde olması gerekir. Hareketli grafiğin göndermekte olduğu mouseDown
olayı esas alınarak bir maske hareketli grafiği için startDrag()
yöntemini çağırmak üzere hareketli grafiğin buttonMode
özelliğini true
değerine ayarlayın.
Görüntüleme nesneleri cacheAsBitmap
özelliği true
olarak ve cacheAsBitmapMatrix
özelliği Matrix nesnesi olarak ayarlanarak önbelleğe alındıklarında, maskelenen maske ve görüntüleme nesnesi önbelleğe alınan aynı bitmap'in parçası olmalıdır. Bu nedenle, görüntüleme nesnesi önbelleğe alınırsa, maske görüntüleme nesnesinin alt öğesi olmalıdır. Görüntüleme nesnesinin üst öğesi görüntüleme listesinde önbelleğe alınırsa, maske bu üst öğenin veya bu öğenin alt öğelerinden birinin alt öğesi olmalıdır. Maskelenen nesnenin birden fazla üst öğesi önbelleğe alınırsa, maske, görüntüleme listesindeki maskelenmiş nesneye en yakın olan önbelleğe alınmış kabın alt öğesi olmalıdır.
Not: Birden çok çağıran görüntüleme nesnesini maskelemek için tek bir mask
nesnesi kullanılamaz. mask
ikinci bir görüntüleme nesnesine atandığında, birinci nesnenin maskesi olarak kaldırılır ve o nesnenin mask
özelliği null
olur.
Uygulama
public function get mask():DisplayObject
public function set mask(value:DisplayObject):void
Örnek ( Bu örnek nasıl kullanılır? )
drag()
olay dinleyicisi işlevi, mask Sprite nesnesinin startDrag()
yöntemini çağırır.
import flash.text.TextField; import flash.display.Sprite; import flash.events.MouseEvent; var tf:TextField = new TextField(); tf.text = "Lorem ipsum dolor sit amet, consectetur adipisicing elit, " + "sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. " tf.selectable = false; tf.wordWrap = true; tf.width = 150; addChild(tf); var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 40, 40); addChild(square); tf.mask = square; tf.addEventListener(MouseEvent.MOUSE_DOWN, drag); tf.addEventListener(MouseEvent.MOUSE_UP, noDrag); function drag(event:MouseEvent):void { square.startDrag(); } function noDrag(event:MouseEvent):void { square.stopDrag(); }
metaData | özellik |
mouseX | özellik |
mouseX:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Farenin veya kullanıcı girdi aygıtı konumunun x koordinatını piksel olarak belirtir.
Not: Döndürülmüş bir DisplayObject için, döndürülmüş x koordinatı, döndürülmemiş nesneyi yansıtır.
Uygulama
public function get mouseX():Number
Örnek ( Bu örnek nasıl kullanılır? )
mouseX
ve mouseY
konumlarını izler.
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 200, 200); addChild(square); square.addEventListener(MouseEvent.CLICK, traceCoordinates); function traceCoordinates(event:MouseEvent):void { trace(square.mouseX, square.mouseY); }
mouseY | özellik |
mouseY:Number
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Farenin veya kullanıcı girdi aygıtı konumunun y koordinatını piksel olarak belirtir.
Not: Döndürülmüş bir DisplayObject için, döndürülmüş y koordinatı, döndürülmemiş nesneyi yansıtır.
Uygulama
public function get mouseY():Number
Örnek ( Bu örnek nasıl kullanılır? )
mouseX
ve mouseY
konumlarını izler.
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 200, 200); addChild(square); square.addEventListener(MouseEvent.CLICK, traceCoordinates); function traceCoordinates(event:MouseEvent):void { trace(square.mouseX, square.mouseY); }
name | özellik |
name:String
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObject öğesinin örnek adını belirtir. Görüntüleme nesnesi kabının getChildByName()
yöntemi çağrılarak nesne, üst görüntüleme nesnesi kabının alt öğe listesinde tanımlanabilir.
Uygulama
public function get name():String
public function set name(value:String):void
Atar
IllegalOperationError — Flash geliştirme aracında zaman çizelgesine yerleştirilmiş bir nesnede bu özelliği ayarlamaya çalışıyorsanız.
|
Örnek ( Bu örnek nasıl kullanılır? )
name
özelliğini izler.
import flash.display.Sprite; import flash.events.MouseEvent; var circle1:Sprite = new Sprite(); circle1.graphics.beginFill(0xFF0000); circle1.graphics.drawCircle(40, 40, 40); circle1.name = "circle1"; addChild(circle1); circle1.addEventListener(MouseEvent.CLICK, traceName); var circle2:Sprite = new Sprite(); circle2.graphics.beginFill(0x0000FF); circle2.graphics.drawCircle(140, 40, 40); circle2.name = "circle2"; addChild(circle2); circle2.addEventListener(MouseEvent.CLICK, traceName); function traceName(event:MouseEvent):void { trace(event.target.name); }
opaqueBackground | özellik |
opaqueBackground:Object
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üleme nesnesinin belirli bir arka plan rengiyle opak olup olmadığını belirtir. Saydam bir bitmap, alfa kanalı verilerini içerir ve saydam şekilde çizilir. Opak bir bitmap, alfa kanalı içermez (ve saydam bir bitmap'ten daha hızlı oluşturur). Bitmap opaksa, kullanmak için kendi arka plan rengini belirtirsiniz.
Bir sayı değerine ayarlanırsa, yüzey sayının belirttiği RGB arka plan rengiyle opak olur (saydam değil). null
değerine (varsayılan değer) ayarlanırsa, görüntüleme nesnesinin saydam arka planı olur.
opaqueBackground
özelliği, oluşturma işlemini en iyileştirmek için daha çok cacheAsBitmap
özelliğiyle kullanılmak üzere tasarlanmıştır. cacheAsBitmap
özelliğinin true değerine ayarlandığı görüntüleme nesneleri için, opaqueBackground
öğesinin ayarlanması, oluşturma performansını artırabilir.
shapeFlag
parametresi true
değerine ayarlanmış durumdayken hitTestPoint()
yöntemi çağrıldığında, opak arka plan bölgesi eşleşmez.
Opak arka plan bölgesi, mouse olaylarına tepki vermez.
Uygulama
public function get opaqueBackground():Object
public function set opaqueBackground(value:Object):void
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
opaqueBackground
özelliğini kırmızı (0xFF0000) olarak ayarlar:
import flash.display.Shape; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.opaqueBackground = 0xFF0000; addChild(circle);
parent | özellik |
parent:DisplayObjectContainer
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bu görüntüleme nesnesini içeren DisplayObjectContainer nesnesini belirtir. Görüntüleme listesi hiyerarşisinde geçerli görüntüleme nesnesinin yukarısındaki görüntüleme nesnelerine göre bir yol belirtmek için parent
özelliğini kullanın.
Aşağıda belirtildiği gibi görüntüleme listesinde birden çok düzey yukarı çıkmak için parent
öğesini kullanabilirsiniz:
this.parent.parent.alpha = 20;
Uygulama
public function get parent():DisplayObjectContainer
Atar
SecurityError — Üst görüntüleme nesnesi, sizin erişiminizin olmadığı bir güvenlik sanal alanına aittir. Üst filmin Security.allowDomain() yöntemini çağırmasını sağlayarak bu durumu önleyebilirsiniz.
|
Örnek ( Bu örnek nasıl kullanılır? )
parent
özelliğinin görüntüleme listesi hiyerarşisini nasıl yansıttığını gösterir:
import flash.display.Sprite; var sprite1:Sprite = new Sprite(); sprite1.name = "sprite1"; var sprite2:Sprite = new Sprite(); sprite2.name = "sprite2"; var sprite3:Sprite = new Sprite(); sprite3.name = "sprite3"; sprite1.addChild(sprite2); sprite2.addChild(sprite3); trace(sprite2.parent.name); // sprite1 trace(sprite3.parent.name); // sprite2 trace(sprite3.parent.parent.name); // sprite1
root | özellik |
root:DisplayObject
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Yüklü bir SWF dosyasındaki bir görüntüleme nesnesi için root
özelliği, görüntüleme listesi ağaç yapısının o SWF dosyası tarafından temsil edilen kısmındaki en üst görüntüleme nesnesidir. Yüklü bir görüntüyü temsil eden bir Bitmap nesnesi için root
özelliği, Bitmap nesnesinin kendisidir. Yüklü birinci SWF dosyasının ana sınıfı örneği için, root
özelliği, görüntüleme nesnesinin kendisidir. Stage nesnesinin root
özelliği, Stage nesnesinin kendisidir. Görüntüleme listesine eklenmemiş bir görüntüleme nesnesi, görüntüleme listesi dışında olan ancak yüklü bir SWF dosyasındaki en üst görüntüleme nesnesinin alt öğesi olan bir görüntüleme nesnesi kabına eklenmediyse, o görüntüleme nesnesi için root
özelliği null
değerine ayarlanır.
Örneğin, Sprite()
yapıcı yöntemini çağırarak yeni bir Sprite nesnesi oluşturursanız, siz nesneyi görüntüleme listesine (veya görüntüleme listesi dışında olan ancak yüklü bir SWF dosyasındaki en üst görüntüleme nesnesinin alt öğesi olan bir görüntüleme nesnesi kabına) ekleyinceye kadar bu nesnenin root
özelliği null
olur.
Yüklü bir SWF dosyası söz konusu olduğunda, dosyayı yüklemek için kullanılan Loader nesnesi görüntüleme listesinde olmayabilse de, SWF dosyasındaki en üst görüntüleme nesnesinin root
özelliği kendisine ayarlıdır. Loader nesnesi root
özelliğinin ayarlandığı görüntüleme nesnesinin bir alt öğesi olarak ekleninceye kadar, Loader nesnesinin root
özelliği ayarlanmaz.
Uygulama
public function get root():DisplayObject
Örnek ( Bu örnek nasıl kullanılır? )
root
özelliği arasındaki farkı gösterir:
import flash.display.Loader; import flash.net.URLRequest; import flash.events.Event; trace(stage.root); // [object Stage] var ldr:Loader = new Loader(); trace (ldr.root); // null addChild(ldr); trace (ldr.root); // [object ...] var urlReq:URLRequest = new URLRequest("example.jpg"); ldr.load(urlReq); ldr.contentLoaderInfo.addEventListener(Event.COMPLETE, loaded); function loaded(event:Event):void { trace(ldr.content.root); // [object Bitmap] }
rotation | özellik |
rotation:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObject örneğinin başlangıç yönlendirmesinden itibaren döndürülmesini derece olarak belirtir. 0 ile 180 arasındaki değerler saat yönünde dönüşü temsil eder; 0 ile -180 arasındaki değerler saatin ters yönünde dönüşü temsil eder. Aralık içinde bir değer elde etmek için, bu aralık dışındaki değerler, 360'a eklenir veya 360'tan çıkarılır. Örneğin, my_video.rotation = 450
deyimi my_video.rotation = 90
ile aynıdır.
Uygulama
public function get rotation():Number
public function set rotation(value:Number):void
Örnek ( Bu örnek nasıl kullanılır? )
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(-50, -50, 100, 100); square.x = 150; square.y = 150; addChild(square); square.addEventListener(MouseEvent.CLICK, rotate); function rotate(event:MouseEvent):void { square.rotation += 15; }
rotationX | özellik |
rotationX:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
DisplayObject örneğinin, 3B üst kabına göre başlangıç yönlendirmesinden itibaren x ekseninde döndürülmesini derece olarak belirtir. 0 ile 180 arasındaki değerler saat yönünde dönüşü temsil eder; 0 ile -180 arasındaki değerler saatin ters yönünde dönüşü temsil eder. Aralık içinde bir değer elde etmek için, bu aralık dışındaki değerler, 360'a eklenir veya 360'tan çıkarılır.
Uygulama
public function get rotationX():Number
public function set rotationX(value:Number):void
Örnek ( Bu örnek nasıl kullanılır? )
rotationX
ve rotationY
özelliklerini kullanarak döner. İlk elipsin kayıt noktası merkezine ayarlanmıştır. Kendi çevresinde döner. İkinci elips harici bir noktanın çevresinde döner.
package { import flash.display.MovieClip; import flash.display.Shape; import flash.geom.*; import flash.display.Graphics; import flash.events.TimerEvent; import flash.utils.Timer; public class RotationExample1 extends MovieClip { private var ellipse:Shape = new Shape(); private var speed:int = 10; private var ellipse1:Shape; private var ellipse2:Shape; public function RotationExample1():void { ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); this.addChild(ellipse1); this.addChild(ellipse2); var t:Timer = new Timer(50); t.addEventListener(TimerEvent.TIMER, timerHandler); t.start(); } private function drawEllipse(x1, y1, x2, y2):Shape { var e:Shape = new Shape(); e.graphics.beginFill(0xFF0000); e.graphics.lineStyle(2); e.graphics.drawEllipse(x1, y1, 100, 80); e.graphics.endFill(); e.x = x2; e.y = y2; e.z = 1; return e; } private function timerHandler(event:TimerEvent):void { ellipse1.rotationY += speed; ellipse1.rotationX -= speed; ellipse2.rotationY += speed; ellipse2.rotationX -= speed; } } }
//Requires: // - Slider control UI component in Flash library. // - Publish for Flash Player 10. // [SWF(width="400", height="300")] import fl.controls.Slider; import fl.controls.SliderDirection; import fl.events.SliderEvent; var slider:Slider = new Slider(); slider.direction = SliderDirection.HORIZONTAL; slider.minimum = 0; slider.maximum = 360; slider.value = 45; slider.tickInterval = 45; slider.snapInterval = 1; slider.liveDragging = true; slider.addEventListener(SliderEvent.CHANGE, slider_change); slider.move(10, 10); addChild(slider); var spr:Sprite = new Sprite(); spr.graphics.lineStyle(2, 0xFF0000); spr.graphics.drawRect(0, 0, 100, 80); spr.x = Math.round((stage.stageWidth - spr.width)/2); spr.y = Math.round((stage.stageHeight - spr.height)/2); spr.rotationX = 45; addChild(spr); function slider_change(evt:SliderEvent):void { spr.rotationX = evt.value; }
rotationY | özellik |
rotationY:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
DisplayObject örneğinin, 3B üst kabına göre başlangıç yönlendirmesinden itibaren y ekseninde döndürülmesini derece olarak belirtir. 0 ile 180 arasındaki değerler saat yönünde dönüşü temsil eder; 0 ile -180 arasındaki değerler saatin ters yönünde dönüşü temsil eder. Aralık içinde bir değer elde etmek için, bu aralık dışındaki değerler, 360'a eklenir veya 360'tan çıkarılır.
Uygulama
public function get rotationY():Number
public function set rotationY(value:Number):void
Örnek ( Bu örnek nasıl kullanılır? )
rotationX
ve rotationY
özelliklerini kullanarak döner. İlk elipsin kayıt noktası merkezine ayarlanmıştır. Kendi çevresinde döner. İkinci elips harici bir noktanın çevresinde döner.
package { import flash.display.MovieClip; import flash.display.Shape; import flash.geom.*; import flash.display.Graphics; import flash.events.TimerEvent; import flash.utils.Timer; public class RotationExample1 extends MovieClip { private var ellipse:Shape = new Shape(); private var speed:int = 10; private var ellipse1:Shape; private var ellipse2:Shape; public function RotationExample1():void { ellipse1 = drawEllipse(-50, -40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); ellipse2 = drawEllipse(30, 40, (this.stage.stageWidth / 2), (this.stage.stageHeight / 2)); this.addChild(ellipse1); this.addChild(ellipse2); var t:Timer = new Timer(50); t.addEventListener(TimerEvent.TIMER, timerHandler); t.start(); } private function drawEllipse(x1, y1, x2, y2):Shape { var e:Shape = new Shape(); e.graphics.beginFill(0xFF0000); e.graphics.lineStyle(2); e.graphics.drawEllipse(x1, y1, 100, 80); e.graphics.endFill(); e.x = x2; e.y = y2; e.z = 1; return e; } private function timerHandler(event:TimerEvent):void { ellipse1.rotationY += speed; ellipse1.rotationX -= speed; ellipse2.rotationY += speed; ellipse2.rotationX -= speed; } } }
rotationZ | özellik |
rotationZ:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
DisplayObject örneğinin, 3B üst kabına göre başlangıç yönlendirmesinden itibaren z ekseninde döndürülmesini derece olarak belirtir. 0 ile 180 arasındaki değerler saat yönünde dönüşü temsil eder; 0 ile -180 arasındaki değerler saatin ters yönünde dönüşü temsil eder. Aralık içinde bir değer elde etmek için, bu aralık dışındaki değerler, 360'a eklenir veya 360'tan çıkarılır.
Uygulama
public function get rotationZ():Number
public function set rotationZ(value:Number):void
scale9Grid | özellik |
scale9Grid:Rectangle
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Etkin durumdaki geçerli ölçekleme ızgarası. null
değerine ayarlanırsa, herhangi bir ölçek dönüşümü uygulandığında görüntüleme nesnesinin tamamı normal şekilde ölçeklenir.
scale9Grid
özelliğini tanımladığınızda, görüntüleme nesnesi, ızgaranın merkez bölgesini tanımlayan scale9Grid
dikdörtgenini esas alarak dokuz bölgeli bir ızgaraya bölünür. Izgaranın diğer sekiz bölgesini şu alanlar oluşturur:
- Dikdörtgenin sol üst köşesinin dış kısmı
- Dikdörtgenin yukarısındaki alan
- Dikdörtgenin sağ üst köşesinin dış kısmı
- Dikdörtgenin solundaki alan
- Dikdörtgenin sağındaki alan
- Dikdörtgenin sol alt köşesinin dış kısmı
- Dikdörtgenin aşağısındaki alan
- Dikdörtgenin sağ alt köşesinin dış kısmı
Merkez bölgenin (dikdörtgenin tanımladığı) dışındaki sekiz bölgeyi, ölçeklendiğinde özel kurallar uygulanan bir resim gibi düşünebilirsiniz.
scale9Grid
özelliği ayarlandığında ve bir görüntüleme nesnesi ölçeklendiğinde, tüm metin ve degradeler normal şekilde ölçeklenir; ancak başka nesne türleri için şu kurallar geçerlidir:
- Merkezdeki içerik normal şekilde ölçeklenir.
- Köşelerdeki içerik ölçeklenmez.
- Üst ve alt bölgelerdeki içerik yalnızca yatay olarak ölçeklenir. Sol ve sağ bölgelerdeki içerik yalnızca dikey olarak ölçeklenir.
- Tüm dolgular (bitmap'ler, video ve degradeler), şekillerine sığacak şekilde uzatılır.
Bir görüntüleme nesnesi döndürülürse, sonraki tüm ölçeklemeler normaldir (ve scale9Grid
özelliği yok sayılır).
Örneğin, şu görüntüleme nesnesini ve görüntüleme nesnesinin scale9Grid
öğesi olarak uygulanan bir dikdörtgeni göz önünde bulundurun:
Görüntüleme nesnesi. |
Kırmızı dikdörtgen |
Görüntüleme nesnesi ölçeklendiğinde veya uzatıldığında, dikdörtgenin içindeki nesneler normal şekilde ölçeklenir ancak dikdörtgenin dışındaki nesneler scale9Grid
kurallarına göre ölçeklenir:
%75 değerine ölçekli: | |
%50 değerine ölçekli: | |
%25 değerine ölçekli: | |
Yatay olarak %150 uzatılmış: |
scale9Grid
öğesinin ayarlanması yaygın olarak, ölçeklendiğinde kenar bölgeleri aynı genişlikte kalacak ve bileşen olarak kullanılacak bir görüntüleme nesnesini kurmakta kullanılır.
Uygulama
public function get scale9Grid():Rectangle
public function set scale9Grid(value:Rectangle):void
Atar
ArgumentError — Yönteme geçersiz bir argüman iletirseniz.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
graphics
özelliğinde bir dikdörtgen çizili olan bir Shape nesnesi oluşturur. Dikdörtgen, kenarlık olarak 20 piksel kalınlıkta bir çizgi içerir ve degradeyle doldurulur. Timer olayı, scaleX
ve scaleY
özelliklerini ayarlayarak Shape nesnesini ölçekleyen scale()
işlevini çağırır. Stage nesnesine uygulanan scale9Grid
öğesi, dikdörtgenin kenarlık çizgisinin ölçeklenmesini önler — yalnızca degrade dolgusu ölçeklenir.
import flash.display.Shape; import flash.display.GradientType; import flash.display.SpreadMethod; import flash.display.InterpolationMethod; import flash.geom.Matrix; import flash.geom.Rectangle; import flash.utils.Timer; import flash.events.TimerEvent; var square:Shape = new Shape(); square.graphics.lineStyle(20, 0xFFCC00); var gradientMatrix:Matrix = new Matrix(); gradientMatrix.createGradientBox(15, 15, Math.PI, 10, 10); square.graphics.beginGradientFill(GradientType.RADIAL, [0xffff00, 0x0000ff], [100, 100], [0, 0xFF], gradientMatrix, SpreadMethod.REFLECT, InterpolationMethod.RGB, 0.9); square.graphics.drawRect(0, 0, 100, 100); var grid:Rectangle = new Rectangle(20, 20, 60, 60); square.scale9Grid = grid ; addChild(square); var tim:Timer = new Timer(100); tim.start(); tim.addEventListener(TimerEvent.TIMER, scale); var scaleFactor:Number = 1.01; function scale(event:TimerEvent):void { square.scaleX *= scaleFactor; square.scaleY *= scaleFactor; if (square.scaleX > 2.0) { scaleFactor = 0.99; } if (square.scaleX < 1.0) { scaleFactor = 1.01; } }
scaleX | özellik |
scaleX:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Nesnenin, kayıt noktasından itibaren uygulandığı haliyle yatay ölçeğini (percentage) belirtir. Varsayılan kayıt noktası (0,0) olur. 1,0, %100 ölçeğe eşittir.
Yerel koordinat sisteminin ölçeklemesi, bütün pikseller olarak tanımlanan x
ve y
özelliği değerlerini değiştirir.
Uygulama
public function get scaleX():Number
public function set scaleX(value:Number):void
Örnek ( Bu örnek nasıl kullanılır? )
graphics
özelliğinde bir dikdörtgen çizilmiş olan bir Sprite nesnesi oluşturur. Kullanıcı hareketli grafiği tıklattığında, grafik %10 ölçeklenir:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(0, 0, 100, 100); addChild(square); square.addEventListener(MouseEvent.CLICK, scale); function scale(event:MouseEvent):void { square.scaleX *= 1.10; square.scaleY *= 1.10; }
scaleY | özellik |
scaleY:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Nesnenin kayıt noktasından itibaren uygulandığı haliyle nesnenin dikey ölçeğini (percentage) belirtir. Varsayılan kayıt noktası (0,0) olur. 1,0; %100 ölçektir.
Yerel koordinat sisteminin ölçeklemesi, bütün pikseller olarak tanımlanan x
ve y
özelliği değerlerini değiştirir.
Uygulama
public function get scaleY():Number
public function set scaleY(value:Number):void
Örnek ( Bu örnek nasıl kullanılır? )
graphics
özelliğinde bir dikdörtgen çizilmiş olan bir Sprite nesnesi oluşturur. Kullanıcı hareketli grafiği tıklattığında, grafik %10 ölçeklenir:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(0, 0, 100, 100); addChild(square); square.addEventListener(MouseEvent.CLICK, scale); function scale(event:MouseEvent):void { square.scaleX *= 1.10; square.scaleY *= 1.10; }
scaleZ | özellik |
scaleZ:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
Nesnenin kayıt noktasından itibaren uygulandığı haliyle nesnenin derinlik ölçeğini (percentage) belirtir. Varsayılan kayıt noktası (0,0) olur. 1,0; %100 ölçektir.
Yerel koordinat sisteminin ölçeklemesi, bütün pikseller olarak tanımlanan x
, y
ve z
özellik değerlerini değiştirir.
Uygulama
public function get scaleZ():Number
public function set scaleZ(value:Number):void
İlgili API Öğeleri
scrollRect | özellik |
scrollRect:Rectangle
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9 |
Görüntüleme nesnesinin kaydırma dikdörtgeni sınırları. scrollRect
nesnesinin x
ve y
özelliklerini değiştirdiğinizde, görüntüleme nesnesi, dikdörtgenin tanımladığı boyuta kırpılır ve dikdörtgen içinde gezinir.
scrollRect
Rectangle nesnesinin özellikleri, görüntüleme nesnesinin koordinat alanını kullanır ve genel görüntüleme nesnesi gibi ölçeklenir. Kaydırma görüntüleme nesnesindeki kırpılan pencerenin köşe sınırları, görüntüleme nesnesinin başlangıç konumu (0,0) ve dikdörtgenin genişlik ve yüksekliğiyle tanımlanan noktadır. Bunlar başlangıç noktasında ortalanmaz ancak alanın sol üst köşesini tanımlamak için başlangıç noktasını kullanır. Kaydırılan bir görüntüleme nesnesi her zaman bütün piksellik artışlarda kaydırılır.
scrollRect
Rectangle nesnesinin x
özelliğini ayarlayarak bir nesneyi sola ve sağa kaydırabilirsiniz. scrollRect
Rectangle nesnesinin y
özelliğini ayarlayarak bir nesneyi yukarı ve aşağı kaydırabilirsiniz. Görüntüleme nesnesi 90° döndürülür ve bu nesneyi sola ve sağa kaydırırsanız, görüntüleme nesnesi gerçekten yukarı ve aşağı kaydırılır.
scrollRect
özelliğinde yapılan değişikliklerin yalnızca nesne oluşturulduğunda işlendiğini unutmayın. Bu nedenle, localToGlobal
gibi yöntemler, scrollRect
değiştirildikten hemen sonra çağrıldığında beklenen sonucu vermeyebilir.
Not: Flash Player 11.4/AIR 3.4'ten itibaren, dikdörtgenin genişliğinin veya yüksekliğinin negatif değerleri 0 olarak değiştirildi.
Uygulama
public function get scrollRect():Rectangle
public function set scrollRect(value:Rectangle):void
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
scrollRect
özelliğinin, bir görüntüleme nesnesinin (circle
) kaydırma alanını nasıl tanımladığını gösterir. circle
nesnesini tıklattığınızda, clicked()
olay işleyicisi yöntemi, circle
nesnesinin scrollRect
özelliğinin y
özelliğini ayarlayarak nesnenin aşağı kaydırılmasını sağlar:
import flash.display.Sprite; import flash.geom.Rectangle; import flash.events.MouseEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFFCC00); circle.graphics.drawCircle(200, 200, 200); circle.scrollRect = new Rectangle(0, 0, 200, 200); addChild(circle); circle.addEventListener(MouseEvent.CLICK, clicked); function clicked(event:MouseEvent):void { var rect:Rectangle = event.target.scrollRect; rect.y -= 5; event.target.scrollRect = rect; }
stage | özellik |
stage:Stage
[salt okunur] 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üleme nesnesinin Sahne Alanı. Bir Flash çalışma zamanı uygulamasının yalnızca bir Stage nesnesi vardır. Örneğin, birden çok görüntüleme nesnesi oluşturup görüntüleme listesine ekleyebilirsiniz ve her görüntüleme nesnesinin stage
özelliği aynı Stage nesnesini ifade eder (görüntüleme nesnesi yüklü bir SWF dosyasına ait olsa da).
Bir görüntüleme nesnesi görüntüleme listesine eklenmezse, o nesnenin stage
özelliği null
değerine ayarlanır.
Uygulama
public function get stage():Stage
Örnek ( Bu örnek nasıl kullanılır? )
width
özelliğini kullanır:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.x = 10; addChild(tf1); tf1.width = tf1.stage.stageWidth / 2 - 10; var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.x = tf1.x + tf1.width + 5; addChild(tf2); tf2.width = tf2.stage.stageWidth / 2 - 10; trace(stage.stageWidth);
transform | özellik |
transform:flash.geom:Transform
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir görüntüleme nesnesinin matrisi, renk dönüşümü ve piksel sınırları ile ilgili özellikleri olan bir nesne. Belirli özellikler — matrix, colorTransform ve üç salt okunur özellikler (concatenatedMatrix
, concatenatedColorTransform
ve pixelBounds
) — Transform sınıfının girişinde açıklanır.
transform nesnesinin özelliklerinin her biri nesnedir. matrix veya colorTransform nesneleri için yeni değerler ayarlamanın tek yolu yeni bir nesne oluşturup o nesneyi transform.matrix ya da transform.colorTransform özelliğine kopyalamak olduğu için bu kavram önemlidir.
Örneğin, bir görüntüleme nesnesi matrisinin tx
değerini artırmak için, matris nesnesinin tamamının bir kopyasını yapmanız ve sonra yeni nesneyi transform nesnesinin matrix özelliğine kopyalamanız gerekir:
var myMatrix:Matrix = myDisplayObject.transform.matrix;
myMatrix.tx += 10;
myDisplayObject.transform.matrix = myMatrix;
tx
özelliğini doğrudan ayarlayamazsınız. Şu kodun myDisplayObject
üzerinde herhangi bir etkisi yoktur:
myDisplayObject.transform.matrix.tx += 10;
Bir transform nesnesinin tamamını kopyalayıp başka bir görüntüleme nesnesinin transform özelliğine de atayabilirsiniz. Örneğin, şu kod myOldDisplayObj
öğesindeki transform nesnesinin tamamını myNewDisplayObj
öğesine kopyalar:
myNewDisplayObj.transform = myOldDisplayObj.transform;
Sonuçta elde edilen görüntüleme nesnesi (myNewDisplayObj
) şimdi eski görüntüleme nesnesiyle (myOldDisplayObj
) aynı matris, renk dönüşümü ve piksel sınırları değerlerine sahip olur.
AIR for TV aygıtlarının, renk dönüştürmeleri için, mevcut olması halinde otomatik olarak donanım hızlandırma kullandığını unutmayın.
Uygulama
public function get transform():flash.geom:Transform
public function set transform(value:flash.geom:Transform):void
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
square
Sprite nesnesi kurar. Kullanıcı hareketli grafiği tıklattığında, transformer()
yöntemi, hareketli grafiğin transform
özelliğinin colorTransform
ve matrix
özelliklerini ayarlar:
import flash.display.Sprite; import flash.geom.ColorTransform; import flash.geom.Matrix; import flash.geom.Transform; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.lineStyle(20, 0xFF2200); square.graphics.beginFill(0x0000DD); square.graphics.drawRect(0, 0, 100, 100); addChild(square); var resultColorTransform:ColorTransform = new ColorTransform(); resultColorTransform.alphaMultiplier = 0.5; resultColorTransform.redOffset = 155; resultColorTransform.greenMultiplier = 0.5; var skewMatrix:Matrix = new Matrix(1, 1, 0, 1); square.addEventListener(MouseEvent.CLICK, transformer); function transformer(event:MouseEvent):void { var transformation:Transform = square.transform; var tempMatrix:Matrix = square.transform.matrix; tempMatrix.concat(skewMatrix); square.transform.colorTransform = resultColorTransform; square.transform.matrix = tempMatrix; }
visible | özellik |
visible:Boolean
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üleme nesnesinin görünür olup olmadığı. Görünür olmayan görüntüleme nesneleri devre dışı bırakılır. Örneğin, bir InteractiveObject örneği için visible=false
olursa, bu nesne tıklatılamaz.
Uygulama
public function get visible():Boolean
public function set visible(value:Boolean):void
Örnek ( Bu örnek nasıl kullanılır? )
visible
özelliğini düzenli aralıklarla değiştiren ve yanıp sönme efekti oluşturan bir işlevi çağırmak için bir Timer nesnesini kullanır.
import flash.text.TextField; import flash.utils.Timer; import flash.events.TimerEvent; var tf:TextField = new TextField(); tf.text = "Hello."; addChild(tf); var tim:Timer = new Timer(250); tim.start(); tim.addEventListener(TimerEvent.TIMER, blinker); function blinker(event:TimerEvent):void { tf.visible = !tf.visible; }
width | özellik |
width: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üleme nesnesinin genişliğini, piksel cinsinden belirtir. Genişlik, görüntüleme nesnesi içeriğinin sınırları esas alınarak hesaplanır. width
özelliğini ayarladığınızda, şu kodda gösterildiği gibi scaleX
özelliği de uygun şekilde ayarlanır:
var rect:Shape = new Shape(); rect.graphics.beginFill(0xFF0000); rect.graphics.drawRect(0, 0, 100, 100); trace(rect.scaleX) // 1; rect.width = 200; trace(rect.scaleX) // 2;
TextField ve Video nesneleri dışında, içeriği olmayan bir görüntüleme nesnesinin (örn. boş bir hareketli grafik) width
öğesini farklı bir değere ayarlasanız da, bu nesnenin genişliği 0 olur.
Uygulama
public function get width():Number
public function set width(value:Number):void
Örnek ( Bu örnek nasıl kullanılır? )
square
Sprite nesnesi kurar. Kullanıcı hareketli grafiği tıklattığında, widen()
yöntemi hareketli grafiğin width
özelliğini artırır:
import flash.display.Sprite; import flash.events.MouseEvent; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFF0000); square.graphics.drawRect(0, 0, 100, 100); addChild(square); square.addEventListener(MouseEvent.CLICK, widen); function widen(event:MouseEvent):void { square.width += 10; }
x | özellik |
x:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObject örneğinin DisplayObjectContainer üst öğesinin yerel koordinatlarına göre x koordinatını belirtir. Nesne, dönüşümler içeren bir DisplayObjectContainer içindeyse, çevreleyen DisplayObjectContainer öğesinin yerel koordinat sistemi içindedir. Böylece, 90° saatin ters yönünde döndürülmüş bir DisplayObjectContainer için, DisplayObjectContainer'ın alt öğeleri, 90° saatin ters yönünde döndürülmüş bir koordinat sistemini miras alır. Nesnenin koordinatları, kayıt noktası konumunu ifade eder.
Uygulama
public function get x():Number
public function set x(value:Number):void
Örnek ( Bu örnek nasıl kullanılır? )
circle
Sprite nesnesi kurar. Her 50 milisaniyede bir hareketli grafiğin x
özelliğini değiştirmek için bir Timer nesnesi kullanılır.
import flash.display.Sprite; import flash.utils.Timer; import flash.events.TimerEvent; var circle:Sprite = new Sprite(); circle.graphics.beginFill(0xFF0000); circle.graphics.drawCircle(100, 100, 100); addChild(circle); var tim:Timer = new Timer(50); tim.start(); tim.addEventListener(TimerEvent.TIMER, bounce); var xInc:Number = 2; function bounce(event:TimerEvent):void { circle.x += xInc; if (circle.x > circle.width) { xInc = -2; } if (circle.x < 0) { xInc = 2; } }
y | özellik |
y:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
DisplayObject örneğinin DisplayObjectContainer üst öğesinin yerel koordinatlarına göre y koordinatını belirtir. Nesne, dönüşümler içeren bir DisplayObjectContainer içindeyse, çevreleyen DisplayObjectContainer öğesinin yerel koordinat sistemi içindedir. Böylece, 90° saatin ters yönünde döndürülmüş bir DisplayObjectContainer için, DisplayObjectContainer'ın alt öğeleri, 90° saatin ters yönünde döndürülmüş bir koordinat sistemini miras alır. Nesnenin koordinatları, kayıt noktası konumunu ifade eder.
Uygulama
public function get y():Number
public function set y(value:Number):void
Örnek ( Bu örnek nasıl kullanılır? )
textHeight
özelliğini esas alarak her birini height
özelliğini ayarlar; ayrıca y
özelliğini ayarlayarak ikinci metin alanını da konumlandırır:
import flash.text.TextField; var tf1:TextField = new TextField(); tf1.text = "Text Field 1"; tf1.border = true; tf1.wordWrap = true; tf1.width = 40; tf1.height = tf1.textHeight + 5; addChild(tf1); var tf2:TextField = new TextField(); tf2.text = "Text Field 2"; tf2.border = true; tf2.wordWrap = true; tf2.width = 40; tf2.height = tf2.textHeight + 5; tf2.y = tf1.y + tf1.height + 5; addChild(tf2);
z | özellik |
z:Number
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5 |
3B üst kabına göre DisplayObject örneğinin z ekseni boyunca z koordinatı konumunu belirtir. z özelliği, ekran veya piksel koordinatlarıyla değil, 3B koordinatlarla çalışmak içindir.
Bir görüntüleme nesnesi için z
özelliğini 0
varsayılan değeri dışında bir değer olarak ayarladığınızda, karşılık gelen Matrix3D nesnesi otomatik olarak oluşturulur. bir görüntüleme nesnesi konumunu ve yönlendirmesini üç boyutlu olarak ayarlamak için. z ekseniyle çalışırken, x ve y özelliklerinin mevcut davranışı, ekran veya piksel koordinatlarından, 3B üst kabına göre konumlara geçer.
Örneğin, x = 100, y = 100, z = 200 konumunda bir _root
alt öğesi, piksel konumunda (100,100) çizilmez. Alt öğe, 3B projeksiyon hesaplamasının koyduğu yere çizilir. Hesaplama şu şekildedir:
(x*cameraFocalLength/cameraRelativeZPosition, y*cameraFocalLength/cameraRelativeZPosition)
Uygulama
public function get z():Number
public function set z(value:Number):void
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
z
ekseninde aşağı ve yukarı olarak) ileri ve geri gidip gelmesini sağlar. Bir elips, diğerinden daha hızlı hareket edecek şekilde ayarlanmıştır.
package { import flash.display.MovieClip; import flash.display.Shape; import flash.display.Graphics; import flash.events.Event; import flash.geom.*; public class ZAxisExample1 extends MovieClip { private var ellipse1Back:int = 1; private var ellipse2Back:int = 1; private var depth:int = 1000; public function ZAxisExample1():void { var ellipse1 = drawEllipse((this.stage.stageWidth / 2) - 100, (this.stage.stageHeight / 2), 100, 80, 10); var ellipse2 = drawEllipse((this.stage.stageWidth / 2) + 100, (this.stage.stageHeight / 2), 100, 80, 300); this.addChild(ellipse1); this.addChild(ellipse2); ellipse1.addEventListener(Event.ENTER_FRAME, ellipse1FrameHandler); ellipse2.addEventListener(Event.ENTER_FRAME, ellipse2FrameHandler); } private function drawEllipse(x:Number, y:Number, w:Number, h:Number, z:Number):Shape { var s:Shape = new Shape(); s.z = z; s.graphics.beginFill(0xFF0000); s.graphics.lineStyle(2); s.graphics.drawEllipse(x, y, w, h); s.graphics.endFill(); return s; } private function ellipse1FrameHandler(e:Event):void { ellipse1Back = setDepth(e, ellipse1Back); e.currentTarget.z += ellipse1Back * 10; } private function ellipse2FrameHandler(e:Event):void { ellipse2Back = setDepth(e, ellipse2Back); e.currentTarget.z += ellipse2Back * 20; } private function setDepth(e:Event, d:int):int { if(e.currentTarget.z > depth) { e.currentTarget.z = depth; d = -1; }else if (e.currentTarget.z < 0) { e.currentTarget.z = 0; d = 1; } return d; } } }
getBounds | () | yöntem |
public function getBounds(targetCoordinateSpace:DisplayObject):Rectangle
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üleme nesnesinin alanını targetCoordinateSpace
nesnesinin koordinat sistemine göre tanımlayan bir dikdörtgen döndürür. Döndürülen dikdörtgenin, yönteme ilettiğiniz targetCoordinateSpace
parametresine bağlı olarak nasıl değişebileceğini gösteren şu kodu göz önünde bulundurun:
var container:Sprite = new Sprite(); container.x = 100; container.y = 100; this.addChild(container); var contents:Shape = new Shape(); contents.graphics.drawCircle(0,0,100); container.addChild(contents); trace(contents.getBounds(container)); // (x=-100, y=-100, w=200, h=200) trace(contents.getBounds(this)); // (x=0, y=0, w=200, h=200)
Not: Görüntüleme nesnesinin yerel koordinatlarını görüntüleme koordinatlarına dönüştürmek için localToGlobal()
yöntemini veya görüntüleme koordinatlarını yerel koordinatlara dönüştürmek için globalToLocal()
yöntemini kullanın.
getBounds()
yöntemi getRect()
yöntemine benzer; ancak getBounds()
yönteminin döndürdüğü Rectangle içindeki şekillerde konturlar bulunurken, getRect()
yönteminin döndürdüğü Rectangle içindeki şekillerde konturlar bulunmaz. Bir örnek için, getRect()
yönteminin açıklamasına bakın.
Parametreler
targetCoordinateSpace:DisplayObject — Kullanılacak koordinat sistemini tanımlayan görüntüleme nesnesi.
|
Rectangle — Görüntüleme nesnesinin alanını targetCoordinateSpace nesnesinin koordinat sistemine göre tanımlayan bir dikdörtgen.
|
İlgili API Öğeleri
getRect | () | yöntem |
public function getRect(targetCoordinateSpace:DisplayObject):Rectangle
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
targetCoordinateSpace
parametresince tanımlanan koordinat sistemini esas alarak ve her tür çizgi ve şekli dışarıda bırakarak görüntüleme nesnesinin sınırlarını tanımlayan bir dikdörtgen döndürür. getRect()
yönteminin döndürdüğü değerler, getBounds()
yönteminin döndürdüğü değerlerle aynı veya bu değerlerden daha düşüktür.
Not: Görüntüleme nesnesinin yerel koordinatlarını Sahne Alanı koordinatlarına dönüştürmek için localToGlobal()
yöntemini veya Sahne Alanı koordinatlarını yerel koordinatlara dönüştürmek için globalToLocal()
yöntemini kullanın.
Parametreler
targetCoordinateSpace:DisplayObject — Kullanılacak koordinat sistemini tanımlayan görüntüleme nesnesi.
|
Rectangle — Görüntüleme nesnesinin alanını targetCoordinateSpace nesnesinin koordinat sistemine göre tanımlayan bir dikdörtgen.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
getBounds()
yönteminin nasıl getRect()
yönteminden daha büyük bir dikdörtgen döndürebildiğini gösterir. Bu durumda, lineStyle()
yönteminin width
ve jointStyle
parametreleri nedeniyle triangle
hareketli grafiği fazladan kontur içerir. trace()
çıktısı (son iki çizgide), getRect()
ve getBounds()
dikdörtgenleri arasındaki farkları gösterir:
import flash.display.CapsStyle; import flash.display.JointStyle; import flash.display.LineScaleMode; import flash.display.Sprite; import flash.geom.Rectangle; var triangle:Sprite = new Sprite(); var color:uint = 0xFF0044; var width:Number = 20; var alpha:Number = 1.0; var pixelHinting:Boolean = true; var scaleMode:String = LineScaleMode.NORMAL; var caps:String = CapsStyle.SQUARE; var joints:String = JointStyle.MITER; triangle.graphics.lineStyle(width, color, alpha, pixelHinting, scaleMode, caps, joints); var triangleSide:Number = 100; triangle.graphics.moveTo(0, 0); triangle.graphics.lineTo(0, triangleSide); triangle.graphics.lineTo(triangleSide, triangleSide); triangle.graphics.lineTo(0, 0); addChild(triangle); trace(triangle.getBounds(this)); // (x=-10, y=-24.1, w=134.10000000000002, h=134.1) trace(triangle.getRect(this)); // (x=0, y=0, w=100, h=100)
globalToLocal | () | yöntem |
public function globalToLocal(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 |
point
nesnesini, Sahne Alanı (global) koordinatlarından görüntüleme nesnesinin (yerel) koordinatlarına dönüştürür.
Bu yöntemi kullanmak için ilk olarak Point sınıfının bir örneğini oluşturun. Atadığınız x ve y değerleri, ana görüntüleme alanının başlangıç konumuna (0,0) göre olduğundan, global koordinatları temsil ederler. Daha sonra Point örneğini parametre olarak globalToLocal()
yöntemine iletin. Yöntem, Stage öğesinin başlangıç konumu yerine görüntüleme nesnesinin başlangıç konumuna göre x ve y değerleriyle yeni bir Point nesnesi döndürür.
Parametreler
point:Point — Point sınıfıyla oluşturulan bir nesne. Point nesnesi özellikler olarak x ve y koordinatlarını belirtir.
|
Point — Koordinatları görüntüleme nesnesine göre olan bir Point nesnesi.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
hitTestPoint()
yöntemi çağrısının sonucunu gösterir. globalToLocal()
yöntemi, noktayı Sahne Alanı koordinatlarından şeklin koordinat alanına dönüştürür.
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
globalToLocal3D | () | yöntem |
public function globalToLocal3D(point:Point):Vector3D
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Sahne Alanı (global) koordinatlarından iki boyutlu noktayı üç boyutlu görüntüleme nesnesinin (yerel) koordinatlarına dönüştürür.
Bu yöntemi kullanmak için ilk olarak Point sınıfının bir örneğini oluşturun. Point nesnesine atadığınız x ve y değerleri, ana görüntüleme alanının başlangıç konumuna (0,0) göre olduğu için global koordinatları temsil eder. Ardından Point nesnesiniglobalToLocal3D()
yöntemiyle point
parametresi olarak iletin. Yöntem, üç boyutlu koordinatları, üç boyutlu görüntüleme nesnesinin başlangıç konumuna göre x
, y
ve z
değerlerini içeren Vector3D nesnesi olarak döndürür.
Parametreler
point:Point — Global x ve y koordinatlarını temsil eden iki boyutlu Point nesnesi.
|
Vector3D — Üç boyutlu görüntüleme nesnesine göre koordinatlara sahip Vector3D nesnesi.
|
hitTestObject | () | yöntem |
public function hitTestObject(obj:DisplayObject):Boolean
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
obj
görüntüleme nesnesinin sınırlayıcı kutusuyla örtüşüp örtüşmediğini veya kesişip kesişmediğini görmek için görüntüleme nesnesinin sınırlayıcı kutusunu değerlendirir.
Parametreler
obj:DisplayObject — Kendisine göre test edilecek görüntüleme nesnesi.
|
Boolean — Görüntüleme nesnesinin sınırlayıcı kutuları kesişiyorsa true ; aksi halde false .
|
Örnek ( Bu örnek nasıl kullanılır? )
hitTestObject()
yöntemi çağrısının sonucunu gösterir. circle2 ve circle3 öğeleri örtüşmese de, sınırlayıcı kutularının örtüştüğüne dikkat edin. Bu nedenle, circle2 ve circle3 vuruş testi true
değerini döndürür.
import flash.display.Shape; var circle1:Shape = new Shape(); circle1.graphics.beginFill(0x0000FF); circle1.graphics.drawCircle(40, 40, 40); addChild(circle1); var circle2:Shape = new Shape(); circle2.graphics.beginFill(0x00FF00); circle2.graphics.drawCircle(40, 40, 40); circle2.x = 50; addChild(circle2); var circle3:Shape = new Shape(); circle3.graphics.beginFill(0xFF0000); circle3.graphics.drawCircle(40, 40, 40); circle3.x = 100; circle3.y = 67; addChild(circle3); trace(circle1.hitTestObject(circle2)); // true trace(circle1.hitTestObject(circle3)); // false trace(circle2.hitTestObject(circle3)); // true
hitTestPoint | () | yöntem |
public function hitTestPoint(x:Number, y:Number, shapeFlag:Boolean = false):Boolean
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üleme nesnesinin x
ve y
ile belirtilen bir noktayla örtüştüğünü veya kesiştiğini görmek için görüntüleme nesnesini değerlendirir. x
ve y
parametreleri, görüntüleme nesnesini içeren görüntüleme nesnesi kabının değil, Sahne Alanı'nın koordinat alanında bir noktayı belirtir (o görüntüleme nesnesi kabı Sahne Alanı olmadığı sürece).
Parametreler
x:Number — Bu nesneye karşı test edilecek x koordinatı.
| |
y:Number — Bu nesneye karşı test edilecek y koordinatı.
| |
shapeFlag:Boolean (default = false ) — Nesnenin mi (true ) yoksa sınırlama kutusunun mu (false ) gerçek piksellerine karşı kontrol edileceği.
|
Boolean — Görüntüleme nesnesi belirtilen noktayla örtüşüyorsa veya kesişiyorsa true ; aksi takdirde false .
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
hitTestPoint()
yöntemi çağrısının sonucunu gösterir. globalToLocal()
yöntemi, noktayı Sahne Alanı koordinatlarından şeklin koordinat alanına dönüştürür.
import flash.display.Shape; import flash.geom.Point; var circle:Shape = new Shape(); circle.graphics.beginFill(0x0000FF); circle.graphics.drawCircle(40, 40, 40); circle.x = 10; addChild(circle); var point1:Point = new Point(0, 0); trace(circle.hitTestPoint(point1.x, point1.y, true)); // false trace(circle.hitTestPoint(point1.x, point1.y, false)); // false trace(circle.globalToLocal(point1)); // [x=-10, y=0] var point2:Point = new Point(10, 1); trace(circle.hitTestPoint(point2.x, point2.y, true)); // false trace(circle.hitTestPoint(point2.x, point2.y, false)); // true trace(circle.globalToLocal(point2)); // [x=0, y=1] var point3:Point = new Point(30, 20); trace(circle.hitTestPoint(point3.x, point3.y, true)); // true trace(circle.hitTestPoint(point3.x, point3.y, false)); // true trace(circle.globalToLocal(point3)); // [x=20, y=20]
local3DToGlobal | () | yöntem |
public function local3DToGlobal(point3d:Vector3D):Point
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Üç boyutlu görüntüleme nesnesinin (yerel) koordinatlarının üç boyutlu noktasını, Sahne Alanı (global) koordinatlarındaki iki boyutlu noktaya dönüştürür.
Örneğin, display.Graphics
yöntemleriyle çizim yapmak için yalnızca iki boyutlu koordinatlar (x,y) kullanabilirsiniz. Üç boyutlu nesne çizmek için, görüntüleme nesnesinin üç boyutlu koordinatlarını iki boyutlu koordinatlara eşlemeniz gerekir. İlk önce, üç boyutlu görüntüleme nesnesinin x-, y- ve z- koordinatlarını bulunduran Vector3D sınıfının bir örneğini oluşturun. Ardından, Vector3D nesnesinilocal3DToGlobal()
yöntemiyle point3d
parametresi olarak iletin. Yöntem, üç boyutlu nesne çizmek için Graphics API ile kullanılan iki boyutlu Point nesnesini döndürür.
Parametreler
point3d:Vector3D — Üç boyutlu nokta veya üç boyutlu görüntüleme nesnesinin koordinatlarını içeren bir Vector3D nesnesi.
|
Point — İki boyutlu alandaki üç boyutlu noktayı temsil eden iki boyutlu nokta.
|
Örnek ( Bu örnek nasıl kullanılır? )
display.Graphics
yöntemleri kullanarak iki boyutlu alan içinde basit bir üç boyutlu küp çizer. this
görüntüleme nesnesinin konumu kaydırılmıştır; böylece küpün kayıt noktası, merkezidir. Vector3D nesnelerinin vektörü, küpün üç boyutlu koordinatlarını bulundurur. İlk önce küpün üst kısmı çizilir, ardından alt kısım çizilir ve sonra üst ile alt kısmın dört köşesi birleştirilir. local3DToGlobal()
yöntemini kullanmak için küpü çizmeden önce küpü görüntüleme nesnesi kabına eklemelisiniz.
package { import flash.display.MovieClip; import flash.display.Sprite; import flash.display.Graphics; import flash.geom.*; public class Local3DToGlobalExample extends MovieClip { private var myCube:Sprite = new Sprite(); private var v8:Vector.<Vector3D> = new Vector.<Vector3D>(8); public function Local3DToGlobalExample():void { this.x = -(this.stage.stageWidth / 2); this.y = -(this.stage.stageWidth / 2); v8[0] = new Vector3D(-40,-40,-40); v8[1] = new Vector3D(40,-40,-40); v8[2] = new Vector3D(40,-40,40); v8[3] = new Vector3D(-40,-40,40); v8[4] = new Vector3D(-40,100,-40); v8[5] = new Vector3D(40,100,-40); v8[6] = new Vector3D(40,100,40); v8[7] = new Vector3D(-40,100,40); myCube.x = (this.stage.stageWidth / 2); myCube.y = (this.stage.stageWidth / 2); myCube.z = 1; addChild(myCube); Cube(); } private function Cube():void { var ps:Point = new Point(0,0); myCube.graphics.lineStyle(2,0xFF0000); ps = myCube.local3DToGlobal(v8[0]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[1]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[2]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[3]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[0]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[4]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[5]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[6]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[7]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[4]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[0]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[4]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[1]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[5]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[2]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[6]); myCube.graphics.lineTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[3]); myCube.graphics.moveTo(ps.x, ps.y); ps = myCube.local3DToGlobal(v8[7]); myCube.graphics.lineTo(ps.x, ps.y); } } }
localToGlobal | () | yöntem |
public function localToGlobal(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 |
point
nesnesini, görüntüleme nesnesinin (yerel) koordinatlarından Sahne Alanı (global) koordinatlarına dönüştürür.
Bu yöntem herhangi bir x ve y koordinatını, belirli bir görüntüleme nesnesinin başlangıç noktasına (0,0) (yerel koordinatlar) göre olan değerlerden, Sahne Alanı'nın başlangıç noktasına (global koordinatlar) göre olan değerlere dönüştürmenizi sağlar.
Bu yöntemi kullanmak için ilk olarak Point sınıfının bir örneğini oluşturun. Atadığınız x ve y değerleri, görüntüleme nesnesinin başlangıç konumuna göre olduğundan, yerel koordinatları temsil ederler.
Daha sonra, parametre olarak oluşturduğunuz Point örneğini localToGlobal()
yöntemine verirsiniz. Yöntem, görüntüleme nesnesinin başlangıç konumu yerine Sahne Alanı'nın başlangıç konumuna göre x ve y değerleriyle yeni bir Point nesnesi döndürür.
Parametreler
point:Point — Point sınıfıyla oluşturulan ve özellikler olarak x ve y koordinatlarını belirten bir nokta adı veya kimliği.
|
Point — Koordinatları Sahne Alanı'na göre olan bir Point nesnesi.
|
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
mouseX
ve mouseY
özellikleri, görüntüleme nesnesinin koordinat alanındadır. Bu kod, bu özellikleri global (Sahne Alanı) koordinatlarına çevirmek için localToGlobal()
yöntemini kullanır:
import flash.display.Sprite; import flash.events.MouseEvent; import flash.geom.Point; var square:Sprite = new Sprite(); square.graphics.beginFill(0xFFCC00); square.graphics.drawRect(0, 0, 100, 100); square.x = 100; square.y = 200; addChild(square); square.addEventListener(MouseEvent.CLICK, traceCoordinates) function traceCoordinates(event:MouseEvent):void { var clickPoint:Point = new Point(square.mouseX, square.mouseY); trace("display object coordinates:", clickPoint); trace("stage coordinates:", square.localToGlobal(clickPoint)); }
added | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.ADDED
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üleme listesine bir ekran nesnesi eklendiğinde gönderilir. Şu yöntemler bu olayı tetikler: DisplayObjectContainer.addChild()
, DisplayObjectContainer.addChildAt()
.
Event.ADDED
sabiti, added
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | true |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Görüntüleme listesine eklenen DisplayObject örneği. target her zaman olay dinleyicisini kaydeden görüntüleme listesindeki nesne değildir. Geçerli olarak olayı işleyen görüntüleme listesindeki nesneye erişmek için currentTarget özelliğini kullanın. |
İlgili API Öğeleri
addedToStage | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.ADDED_TO_STAGE
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.28.0, Flash Lite 4 |
Ya doğrudan ya da ekran nesnesini içeren alt ağaca ekleme yaparak, sahne görüntüleme listesine bir ekran nesnesi eklendiğinde gönderilir. Şu yöntemler bu olayı tetikler: DisplayObjectContainer.addChild()
, DisplayObjectContainer.addChildAt()
.
Event.ADDED_TO_STAGE
sabiti, addedToStage
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Doğrudan veya DisplayObject örneğinin yer aldığı alt ağacın eklenmesiyle sahne görüntüleme listesine eklenen DisplayObject örneği. DisplayObject örneği doğrudan ekleniyorsa, added olayı bu olaydan önce oluşur. |
İlgili API Öğeleri
enterFrame | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.ENTER_FRAME
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
[broadcast olayı] Oynatma kafası yeni bir kareye girerken gönderilir. Oynatma kafası hareket etmiyorsa veya yalnızca bir kare varsa, kare hızıyla bağlantılı şekilde bu olay sürekli olarak gönderilir. Bu olay bir broadcast olayıdır; yani, bu olay kendisi için kaydedilmiş bir dinleyiciye sahip tüm görüntüleme nesneleri tarafından gönderilir.
Event.ENTER_FRAME
sabiti, enterFrame
olay nesnesinin type
özelliği değerini tanımlar.
Not: Bu olayda “yakalama aşaması“ veya “köpürme aşaması“ bulunmaz; başka bir deyişle, olay dinleyicileri her türlü potansiyel hedefe, hedefler görüntüleme listesinde olsun veya olmasın, doğrudan eklenmelidir.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Dinleyicisi enterFrame olayı için kayıtlı olan herhangi bir DisplayObject örneği. |
exitFrame | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.EXIT_FRAME
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 2, Flash Lite 4 |
[broadcast olayı] Oynatma kafası geçerli kareden çıkarken gönderilir. Tüm kare komut dosyaları çalıştırılmıştır. Oynatma kafası hareket etmiyorsa veya yalnızca bir kare varsa, kare hızıyla bağlantılı şekilde bu olay sürekli olarak gönderilir. Bu olay bir broadcast olayıdır; yani, bu olay kendisi için kaydedilmiş bir dinleyiciye sahip tüm görüntüleme nesneleri tarafından gönderilir.
Event.EXIT_FRAME
sabiti, exitFrame
olay nesnesinin type
özelliği değerini tanımlar.
Not: Bu olayda “yakalama aşaması“ veya “köpürme aşaması“ bulunmaz; başka bir deyişle, olay dinleyicileri her türlü potansiyel hedefe, hedefler görüntüleme listesinde olsun veya olmasın, doğrudan eklenmelidir.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Dinleyicisi enterFrame olayı için kayıtlı olan herhangi bir DisplayObject örneği. |
frameConstructed | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.FRAME_CONSTRUCTED
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 2, Flash Lite 4 |
[broadcast olayı] Kare görüntüleme nesnelerinin yapıcıları çalıştırıldıktan sonra ancak kare komut dosyaları çalıştırılmadan önce gönderilir. Oynatma kafası hareket etmiyorsa veya yalnızca bir kare varsa, kare hızıyla bağlantılı şekilde bu olay sürekli olarak gönderilir. Bu olay bir broadcast olayıdır; yani, bu olay kendisi için kaydedilmiş bir dinleyiciye sahip tüm görüntüleme nesneleri tarafından gönderilir.
Event.FRAME_CONSTRUCTED
sabiti, frameConstructed
olay nesnesinin type
özelliği değerini tanımlar.
Not: Bu olayda “yakalama aşaması“ veya “köpürme aşaması“ bulunmaz; başka bir deyişle, olay dinleyicileri her türlü potansiyel hedefe, hedefler görüntüleme listesinde olsun veya olmasın, doğrudan eklenmelidir.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Dinleyicisi frameConstructed olayı için kayıtlı olan herhangi bir DisplayObject örneği. |
removed | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.REMOVED
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üleme listesinden bir ekran nesnesi kaldırılmak üzereyken gönderilir. DisplayObjectContainer sınıfının iki yöntemi bu olayı üretir: removeChild()
ve removeChildAt()
.
Bir DisplayObjectContainer nesnesinin şu yöntemleri de, yeni nesne için yer açmak üzere bir nesnenin kaldırılması gerektiğinde bu olayı gerçekleştirir: addChild()
, addChildAt()
ve setChildIndex()
.
Event.REMOVED
sabiti, removed
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | true |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Görüntüleme listesinden kaldırılacak DisplayObject örneği. target her zaman olay dinleyicisini kaydeden görüntüleme listesindeki nesne değildir. Geçerli olarak olayı işleyen görüntüleme listesindeki nesneye erişmek için currentTarget özelliğini kullanın. |
removedFromStage | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.REMOVED_FROM_STAGE
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9.0.28.0, Flash Lite 4 |
Ya doğrudan ya da ekran nesnesini içeren alt ağacın kaldırılmasıyla, sahne görüntüleme listesinden bir ekran nesnesi kaldırılmak üzereyken gönderilir. DisplayObjectContainer sınıfının iki yöntemi bu olayı üretir: removeChild()
ve removeChildAt()
.
Bir DisplayObjectContainer nesnesinin şu yöntemleri de, yeni nesne için yer açmak üzere bir nesnenin kaldırılması gerektiğinde bu olayı gerçekleştirir: addChild()
, addChildAt()
ve setChildIndex()
.
Event.REMOVED_FROM_STAGE
sabiti, removedFromStage
olay nesnesinin type
özelliği değerini tanımlar.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; iptal edilecek varsayılan davranış yoktur. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | Doğrudan veya DisplayObject örneğinin yer aldığı alt ağacın kaldırılmasıyla sahne görüntüleme listesinden kaldırılan DisplayObject örneği. DisplayObject örneği doğrudan kaldırılıyorsa, removed olayı bu olaydan önce oluşur. |
render | Olay |
flash.events.Event
özellik Event.type =
flash.events.Event.RENDER
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
[broadcast olayı] Ekran güncellenmek ve oluşturulmak üzereyken gönderilir. Bu olay, bu olayı dinleyen nesnelere görüntüleme listesi oluşturulmadan önce değişiklik yapmaları için son fırsatı sağlar. render
olayının gönderilmesini her istediğinizde Stage nesnesinin invalidate()
yöntemini çağırmalısınız. Render
olayları yalnızca bir nesne ile Stage.invalidate()
öğesini çağıran nesne arasında karşılıklı güven varsa o nesneye gönderilir. Bu olay bir broadcast olayıdır; yani, bu olay kendisi için kaydedilmiş bir dinleyiciye sahip tüm görüntüleme nesneleri tarafından gönderilir.
Not: Görüntü oluşturulmadığında bu olay gönderilmez. İçerik simge durumuna getirildiğinde veya gizlendiğinde bu durum gerçekleşir.
Event.RENDER
sabiti, render
olay nesnesinin type
özelliği değerini tanımlar.
Not: Bu olayda “yakalama aşaması“ veya “köpürme aşaması“ bulunmaz; başka bir deyişle, olay dinleyicileri her türlü potansiyel hedefe, hedefler görüntüleme listesinde olsun veya olmasın, doğrudan eklenmelidir.
Bu olay şu özelliklere sahiptir:
Özellik | Değer |
---|---|
bubbles | false |
cancelable | false ; varsayılan davranış iptal edilemez. |
currentTarget | Bu Event nesnesini olay dinleyicisiyle etkin olarak işleyen nesne. |
target | render olayı için kayıtlı olan herhangi bir DisplayObject örneği. |
DisplayObjectExample
sınıfını kullanır. Bu görev, şu adımlar gerçekleştirilerek yerine getirilir:
- Karenin rengi ve boyutu için Class özellikleri bildirilir.
- Yapıcı, Stage öğesinde varsayılan x = 0, y = 0 koordinatlarında turuncu bir kare çizen
draw()
yöntemini çağırır. - Şu olay dinleyicisi yöntemleri, kareye eklenir:
addedHandler()
, görüntüleme listesine kare eklendiğinde gönderilenadded
olaylarını dinler.enterFrameHandler()
, bu örnekte gerçek bir anlamı olmayanenterFrame
olaylarını dinler.removedHandler()
, kare tıklatılıp görüntüleme listesinden kaldırıldığında gönderilenremoved
olaylarını dinler.clickHandler()
, turuncu kare tıklatıldığında gönderilenclick
olaylarını dinler.renderHandler()
, görüntüleme listesi güncellendikten sonra gönderilenrender
olaylarını dinler.
package { import flash.display.Sprite; public class DisplayObjectExample extends Sprite { public function DisplayObjectExample() { var child:CustomDisplayObject = new CustomDisplayObject(); addChild(child); } } } import flash.display.DisplayObject; import flash.display.Sprite; import flash.display.Stage; import flash.display.StageAlign; import flash.display.StageScaleMode; import flash.events.*; class CustomDisplayObject extends Sprite { private var bgColor:uint = 0xFFCC00; private var size:uint = 80; public function CustomDisplayObject() { draw(); addEventListener(Event.ADDED, addedHandler); addEventListener(Event.ENTER_FRAME, enterFrameHandler); addEventListener(Event.REMOVED, removedHandler); addEventListener(MouseEvent.CLICK, clickHandler); addEventListener(Event.RENDER, renderHandler); } private function draw():void { graphics.beginFill(bgColor); graphics.drawRect(0, 0, size, size); graphics.endFill(); } private function clickHandler(event:MouseEvent):void { trace("clickHandler: " + event); parent.removeChild(this); } private function addedHandler(event:Event):void { trace("addedHandler: " + event); stage.scaleMode = StageScaleMode.NO_SCALE; stage.align = StageAlign.TOP_LEFT; stage.addEventListener("resize", resizeHandler); } private function enterFrameHandler(event:Event):void { trace("enterFrameHandler: " + event); removeEventListener("enterFrame", enterFrameHandler); } private function removedHandler(event:Event):void { trace("removedHandler: " + event); stage.removeEventListener("resize", resizeHandler); } private function renderHandler(event:Event):void { trace("renderHandler: " + event); } private function resizeHandler(event:Event):void { trace("resizeHandler: " + event); } }
Tue Jun 12 2018, 01:09 PM Z