Paket | flash.display |
Sınıf | public class Loader |
Miras Alma | Loader DisplayObjectContainer InteractiveObject DisplayObject EventDispatcher Object |
Alt Sınıflar | AVLoader, FlexLoader |
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
load()
yöntemini kullanın. Yüklenen görüntüleme nesnesi, Loader nesnesinin alt öğesi olarak eklenir.
Metin veya ikili verileri yüklemek için URLLoader sınıfını kullanın.
Bir Loader nesnesinin yalnızca bir alt görüntüleme nesnesi (yüklediği display nesnesi) olabileceğinden, Loader sınıfı, miras aldığı şu yöntemleri geçersiz kılar. Şu yöntemlerin çağrılması bir istisna atar: addChild()
, addChildAt()
, removeChild()
, removeChildAt()
ve setChildIndex()
. Yüklenen bir görüntüleme nesnesini kaldırmak için, Loader nesnesini üst DisplayObjectContainer alt dizisinden kaldırmanız gerekir.
iOS notları
iOS'ta AIR uygulamalarında, uygulama paketinden yalnızca ActionScript içeren bir SWF dosyası yükleyebilirsiniz. Bu kısıtlamaya herhangi bir ActionScript dahildir (örn. ActionScript için dışa aktarılan sınıf adlarına sahip varlıklar gibi). Herhangi bir SWF dosyasını yüklemek için, ana SWF ile aynı uygulama etki alanını kullanan SWF'yi aşağıdaki örnekte gösterildiği gibi yüklemeniz gerekir:
var loader:Loader = new Loader(); var url:URLRequest = new URLRequest("swfs/SecondarySwf.swf"); var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, null); loader.load(url, loaderContext);
Ayrıca iOS'ta, herhangi bir ActionScript ByteCode (ABC) içeren SWF dosyasını yükleyemez, ardından bunu kaldıramaz ve yeniden yükleyemezsiniz. Bunu yapmaya çalışırsanız çalışma zamanı 3764 hatasını verir.
AIR 3.6'dan önceki sürümlerde, uygulama paketinden ya da bir ağ üzerinden yüklendiğine bakılmaksızın, yalnızca ActionScript bayt kodu içermeyen SWF dosyaları yüklenebilir. ActionScript'e sahip harici bir SWF dosyasını kullanmaya alternatif olarak, bir SWC kütüphanesi oluşturun ve bunu ana SWF'nize bağlayın.
AIR 3.7 ve üstünde, harici olarak barındırılan ikincil SWF'lerin yüklenmesini desteklenir. Bu özellikle ilgili ayrıntılı açıklama burada bulunabilir.
Bu iOS kısıtlamaları, bir uygulama iOS Simulator'da (ipa-test-interpreter-simulator ya da ipa-debug-interpreter-simulator) veya yorumlayıcı modunda (ipa-test-interpreter ya da ipa-debug-interpreter) çalıştığında geçerli değildir.
Yükleyici güvenliği
Loader sınıfını kullanırken Flash Player ve Adobe AIR güvenlik modelini göz önünde bulundurun:
- Erişilebilir herhangi bir kaynaktan içerik yükleyebilirsiniz.
- Çağıran SWF dosyası bir ağ sanal alanındaysa ve yüklenecek dosya yerelse yüklemeye izin verilmez.
- Yüklenen içerik, ActionScript 3.0 ile yazılmış bir SWF dosyasıysa, yüklenen içerik dosyasında
System.allowDomain()
veyaSystem.allowInsecureDomain()
yöntemine yapılan bir çağrıyla öğeler arası komut dosyası düzenleme onaylanmadığı sürece bu içeriğe başka bir güvenlik sanal alanındaki SWF dosyası tarafından öğeler arası komut dosyası oluşturma işlemi uygulanamaz. - Yüklenen içerik bir AVM1 SWF dosyasıysa (ActionScript 1.0 veya 2.0 kullanılarak yazılmış), bu içeriğe AVM2 SWF dosyası (ActionScript 3.0 kullanılarak yazılmış) tarafından öğeler arası komut dosyası oluşturma işlemi uygulanamaz. Ancak, LocalConnection sınıfını kullanarak iki SWF dosyası arasında iletişim kurabilirsiniz.
- Yüklenen içerik bir görüntüyse, SWF dosyasının etki alanı, görüntünün başlangıç etki alanındaki bir URL ilke dosyasına dahil edilmediği sürece, içeriğin verilerine güvenlik sanal alanı dışındaki bir SWF dosyası tarafından erişilemez.
- Dosya sistemine sahip yerel sanal alandaki film klipleri, ağ iletişimine sahip yerel sanal alandaki film kliplerine komut dosyası oluşturma işlemi uygulayamaz ve aynı şekilde tersi de engellenmiştir.
- Ortak olarak ayrılmış bağlantı noktalarına bağlanamazsınız. Engellenen bağlantı noktalarının tam listesi için, bkz. "Ağ İletişimi API'lerini Kısıtlama", ActionScript 3.0 Geliştirici Kılavuzu.
Ancak AIR'da, application
güvenlik sanal alanındaki içerik (AIR uygulamasıyla yüklenen içerik) bu güvenlik sınırlamalarıyla kısıtlanmaz.
Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.
Güvenilmeyen bir kaynaktan (örn. Loader nesnesinin kök SWF dosyasının etki alanı dışında bir etki alanı) bir SWF dosyası yüklerken, şu kodda gösterildiği gibi, yüklenen içeriğin (Loader nesnesinin alt öğesi olan) maske dışındaki Sahne Alanı bölümlerine çizim yapmasını önlemek üzere Loader nesnesi için bir maske tanımlamak isteyebilirsiniz:
import flash.display.*; import flash.net.URLRequest; var rect:Shape = new Shape(); rect.graphics.beginFill(0xFFFFFF); rect.graphics.drawRect(0, 0, 100, 100); rect.graphics.endFill(); addChild(rect); var ldr:Loader = new Loader(); ldr.mask = rect; var url:String = "http://www.unknown.example.com/content.swf"; var urlReq:URLRequest = new URLRequest(url); ldr.load(urlReq); addChild(ldr);
Not: Uygulama ile Web hizmetleri arasında güvenli olmayan bağlantılara izin vermeyen Uygulama Taşıma Güvenliği, Apple tarafından iOS9'da sunulmaktadır. Bu değişiklik nedeniyle Loader üzerinden Güvenli Olmayan web siteleriyle yapılan tüm bağlantılar kesilir ve Uygulama Taşıma Güvenliği nedeniyle çalışmaz. Lütfen uygulamanızda Info.plist dosyasına anahtar ekleyerek varsayılan davranışın istisnalarını belirtin.
Özelliği tamamen kapatmak için Info.plist dosyanıza aşağıdakileri eklediğinizde özellik önceki gibi çalışır.
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key><true/> </dict>
Uygulamanızın tanımlayıcısının InfoAdditions etiketine anahtar ekleyerek varsayılan davranış için istisnaları belirtin.
<iPhone> <InfoAdditions> <![CDATA[ <key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>www.example.com</key> <dict> <!--Include to allow subdomains--> <key>NSIncludesSubdomains</key> <true/> <!--Include to allow HTTP requests--> <key>NSTemporaryExceptionAllowsInsecureHTTPLoads</key> <true/> <!--Include to specify minimum TLS version--> <key>NSTemporaryExceptionMinimumTLSVersion</key> <string>TLSv1.1</string> </dict> </dict> </dict> ]]> </InfoAdditions> </iPhone>
İlgili API Öğeleri
Özellik | Tanımlayan: | ||
---|---|---|---|
accessibilityImplementation : AccessibilityImplementation
Bu InteractiveObject örneği için geçerli erişilebilirlik uygulaması (AccessibilityImplementation). | InteractiveObject | ||
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 | ||
content : DisplayObject [salt okunur]
load() veya loadBytes() yöntemleri kullanılarak yüklenmiş SWF dosyasının veya görüntü (JPG, PNG ya da GIF) dosyasının kök görüntüleme nesnesini içerir. | Loader | ||
contentLoaderInfo : LoaderInfo [salt okunur]
Yüklenmekte olan nesneye karşılık gelen bir LoaderInfo nesnesi döndürür. | Loader | ||
contextMenu : NativeMenu
Bu nesneyle ilişkilendirilen bağlam menüsünü belirtir. | InteractiveObject | ||
doubleClickEnabled : Boolean
Nesnenin doubleClick olaylarını alıp almadığını belirtir. | InteractiveObject | ||
filters : Array
Geçerli olarak görüntüleme nesnesiyle ilişkilendirilmiş her filtre nesnesini içeren dizinli bir dizi. | DisplayObject | ||
focusRect : Object
Bu nesnenin bir odak dikdörtgeni görüntüleyip görüntülemediğini belirtir. | InteractiveObject | ||
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 | ||
mouseChildren : Boolean
Nesnenin alt öğelerinin, fare veya kullanıcı girdi aygıtı etkin olduğunu belirtir. | DisplayObjectContainer | ||
mouseEnabled : Boolean
Bu nesnenin fare veya diğer kullanıcı girdisi iletileri alıp almadığını belirtir. | InteractiveObject | ||
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 | ||
needsSoftKeyboard : Boolean
Bu InteractiveObject örneği odak aldığında sanal bir klavyenin (ekrandaki yazılım klavyesi) görüntülenip görüntülenmemesi gerektiğini belirtir. | InteractiveObject | ||
numChildren : int [salt okunur]
Bu nesnenin alt öğelerinin sayısını döndürür. | DisplayObjectContainer | ||
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 | ||
softKeyboard : String
Yazılım klavyesinin görünümünü kontrol eder. | InteractiveObject | ||
softKeyboardInputAreaOfInterest : Rectangle
Yazılım klavyesi görüntülendiğinde ekranda kalması gereken alanı belirtir (iOS'ta kullanılabilir değildir) | InteractiveObject | ||
stage : Stage [salt okunur]
Görüntüleme nesnesinin Sahne Alanı. | DisplayObject | ||
tabChildren : Boolean
Nesnenin alt öğelerinin sekme tuşuna tepki verip vermediğini belirler. | DisplayObjectContainer | ||
tabEnabled : Boolean
Bu nesnenin sekme sırasında olup olmadığını belirtir. | InteractiveObject | ||
tabIndex : int
SWF dosyasındaki nesnelerin sekme sıralamasını belirtir. | InteractiveObject | ||
textSnapshot : flash.text:TextSnapshot [salt okunur]
Bu DisplayObjectContainer örneği için bir TextSnapshot nesnesi döndürür. | DisplayObjectContainer | ||
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 | ||
uncaughtErrorEvents : UncaughtErrorEvents [salt okunur]
Bu Loader nesnesiyle yüklenen SWF'de işlenmemiş hata oluştuğunda uncaughtError olayı gönderen bir nesne. | Loader | ||
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: | ||
---|---|---|---|
Loader()
SWF, JPEG, GIF veya PNG gibi dosyaları yüklemek için kullanabileceğiniz bir Loader nesnesi oluşturur. | Loader | ||
Bu DisplayObjectContainer örneğine bir alt DisplayObject örneği ekler. | DisplayObjectContainer | ||
Bu DisplayObjectContainer örneğine bir alt DisplayObject örneği ekler. | DisplayObjectContainer | ||
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 | ||
Güvenlik kısıtlamalarının, DisplayObjectContainer.getObjectsUnderPoint() yönteminin belirtilen point noktası ile çağrılması sonucunda döndürülen listeden görüntüleme nesnelerinin çıkarılmasına neden olup olmayacağını belirtir. | DisplayObjectContainer | ||
Loader örneği için devam eden bir load() yöntemi işlemini iptal eder. | Loader | ||
Belirtilen görüntüleme nesnesinin, DisplayObjectContainer örneğinin alt öğesi mi, yoksa örneğin kendisi mi olduğunu belirler. | DisplayObjectContainer | ||
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 | ||
Belirtilen dizinde bulunan alt görüntüleme nesnesi örneğini döndürür. | DisplayObjectContainer | ||
Belirtilen ad ile var olan alt görüntüleme nesnesini döndürür. | DisplayObjectContainer | ||
Bir alt DisplayObject örneğinin dizin konumunu döndürür. | DisplayObjectContainer | ||
Belirtilen noktanın altında olan ve bu DisplayObjectContainer örneğinin alt öğesi (veya alt alt öğesi vb.) olan nesnelerin bir dizisini döndürür. | DisplayObjectContainer | ||
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 | ||
Bu Loader nesnesinin alt öğesi olan bir nesneye bir SWF, JPEG, aşamalı JPEG, animasyonsuz GIF veya PNG dosyası yükler. | Loader | ||
Bir ByteArray nesnesinde saklanan ikili veriyi yükler. | Loader | ||
Bir IFilePromise örneği yükler. | Loader | ||
Üç 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 | ||
Belirtilen alt DisplayObject örneğini DisplayObjectContainer örneğinin alt öğe listesinden kaldırır. | DisplayObjectContainer | ||
DisplayObjectContainer nesnesinin alt öğe listesinde belirtilen dizin konumundan bir alt DisplayObject öğesini kaldırır. | DisplayObjectContainer | ||
Tüm alt DisplayObject örneklerini DisplayObjectContainer örneğinin alt öğe listesinden kaldırır. | DisplayObjectContainer | ||
EventDispatcher nesnesinden bir dinleyiciyi kaldırır. | EventDispatcher | ||
Sanal bir klavye yükseltir. | InteractiveObject | ||
Mevcut bir alt öğenin görüntüleme nesnesi kabındaki konumunu değiştirir. | DisplayObjectContainer | ||
Dinamik bir özelliğin döngü işlemlerinde kullanılabilirliğini ayarlar. | Object | ||
Kökü bu nesnede bulunan tüm MovieClip öğelerinin zaman çizelgesinde yürütülmesini özyinelemeli olarak durdurur. | DisplayObjectContainer | ||
Belirtilen iki alt nesnenin z sırasını (önden arkaya sıra) takas eder. | DisplayObjectContainer | ||
Alt öğe listesinde belirtilen iki dizin konumundaki alt öğe nesnelerinin z sırasını (önden arkaya sıra) takas eder. | DisplayObjectContainer | ||
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 | ||
Bu Loader nesnesinin load() yöntemi kullanılarak yüklenmiş bir alt öğesini kaldırır. | Loader | ||
Alt SWF dosyası içeriğini boşaltmaya çalışır ve yüklü SWF dosyalarından komutların gerçekleşmesini durdurur. | Loader | ||
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 |
content | özellik |
content: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 |
load()
veya loadBytes()
yöntemleri kullanılarak yüklenmiş SWF dosyasının veya görüntü (JPG, PNG ya da GIF) dosyasının kök görüntüleme nesnesini içerir.
Uygulama
public function get content():DisplayObject
Atar
SecurityError — Yüklenen SWF dosyası veya görüntü dosyası, erişiminiz olmayan bir güvenlik sanal alanına aittir. Yüklenen bir SWF dosyası için, dosyanın Security.allowDomain() yöntemini çağırmasını sağlayarak veya load() ya da loadBytes() yöntemini çağırdığınızda securityDomain özelliği SecurityDomain.currentDomain değerine ayarlı durumdayken yükleme dosyasının bir loaderContext parametresi belirtmesini sağlayarak bu durumu önleyebilirsiniz.
|
İlgili API Öğeleri
contentLoaderInfo | özellik |
contentLoaderInfo: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 |
Yüklenmekte olan nesneye karşılık gelen bir LoaderInfo nesnesi döndürür. Loader nesnesi ile yüklenen content nesnesi arasında paylaşılan LoaderInfo nesneleri. LoaderInfo nesnesi, yükleme ilerleme bilgilerini ve yüklenen dosya hakkında istatistikleri sağlar.
Yüklemeyle ilgili olaylar, Loader nesnesinin contentLoaderInfo
özelliğinin başvurduğu LoaderInfo nesnesi tarafından gönderilir. Yükleme öncesinde nesneye olay dinleyicileri ekleyebilmeniz için, içerik daha yüklenmeden önce contentLoaderInfo
özelliği geçerli bir LoaderInfo nesnesine ayarlanır.
Yüklü bir SWF'de oluşan yakalanmamış hataları algılamak için, Loader.contentLoaderInfo.uncaughtErrorEvents
özelliğine değil, Loader.uncaughtErrorEvents
özelliğine bakın.
Uygulama
public function get contentLoaderInfo():LoaderInfo
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
var url:String = "http://www.helpexamples.com/flash/images/image2.jpg"; var urlRequest:URLRequest = new URLRequest(url); var loader:Loader = new Loader(); loader.contentLoaderInfo.addEventListener(Event.COMPLETE, loader_complete); loader.load(urlRequest); addChild(loader); function loader_complete(evt:Event):void { var target_mc:Loader = evt.currentTarget.loader as Loader; target_mc.x = (stage.stageWidth - target_mc.width) / 2; target_mc.y = (stage.stageHeight - target_mc.height) / 2; }
uncaughtErrorEvents | özellik |
uncaughtErrorEvents:UncaughtErrorEvents
[salt okunur] Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10.1, AIR 2 |
Bu Loader nesnesiyle yüklenen SWF'de işlenmemiş hata oluştuğunda bir uncaughtError
olayı gönderen bir nesne. Herhangi bir try..catch
bloğunun dışında bir hata atıldığında veya herhangi bir lisanslı dinleyiciye sahip olmayan bir ErrorEvent nesnesi gönderildiğinde yakalanmayan bir hata oluşur.
Bir Loader nesnesinin uncaughtErrorEvents
özelliğinin onun doğrudan gönderdiği olayları değil, onun içinden köpüren olayları gönderdiğini unutmayın. O, hiç bir zaman hedef aşamasında bir uncaughtErrorEvent
göndermez. Olayı yalnızca yakalama ve köpürme aşamalarında gönderir. Geçerli SWF'de bir yakalanmamış hata algılamak için (Loader nesnesinin içinde tanımlandığı SWF) LoaderInfo.uncaughtErrorEvents
özelliğini kullanın.
Loader nesnesi tarafından yüklenen içerik AVM1 (ActionScript 2) SWF dosyası ise, AVM1 SWF dosyasındaki yakalanmayan hatalar uncaughtError
olayına sebep olmaz.
Uygulama
public function get uncaughtErrorEvents():UncaughtErrorEvents
İlgili API Öğeleri
Örnek ( Bu örnek nasıl kullanılır? )
uncaughtError
olay işleyicisi tanımlıyor.
Yapıcıda, kod bir Loader nesnesi oluşturur ve Loader nesnesinin uncaughtErrorEvents
özelliği tarafından gönderilen uncaughtError
olayı için bir dinleyici kaydeder.
uncaughtErrorHandler()
yönteminde, kod error
özelliğinin veri türünü kontrol eder ve ona göre yanıt verir.
package { import flash.display.Loader; import flash.display.Sprite; import flash.events.ErrorEvent; import flash.events.UncaughtErrorEvent; import flash.net.URLRequest; public class LoaderUncaughtErrorEventExample extends Sprite { private var ldr:Loader; public function LoaderUncaughtErrorEventExample() { ldr = new Loader(); ldr.load(new URLRequest("child.swf")); ldr.uncaughtErrorEvents.addEventListener(UncaughtErrorEvent.UNCAUGHT_ERROR, uncaughtErrorHandler); } private function uncaughtErrorHandler(event:UncaughtErrorEvent):void { if (event.error is Error) { var error:Error = event.error as Error; // do something with the error } else if (event.error is ErrorEvent) { var errorEvent:ErrorEvent = event.error as ErrorEvent; // do something with the error } else { // a non-Error, non-ErrorEvent type was thrown and uncaught } } } }
Loader | () | Yapıcı |
public function Loader()
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
SWF, JPEG, GIF veya PNG gibi dosyaları yüklemek için kullanabileceğiniz bir Loader nesnesi oluşturur. Loader örneğinin bir alt öğesi olarak varlığı yüklemek için load()
yöntemini çağırın. Daha sonra Loader nesnesini görüntüleme listesine ekleyebilirsiniz (örneğin, bir DisplayObjectContainer örneğinin addChild()
yöntemini kullanarak). Varlık yüklendiğinde Sahne Alanı üzerinde görüntülenir.
Bir Loader örneğini görüntüleme listesindeki bir görüntüleme nesnesi kabına eklemeden de "liste dışı" şekilde kullanabilirsiniz. Bu modda, bir uygulamanın ek modüllerini içeren bir SWF dosyasını yüklemek için Loader örneği kullanılabilir.
SWF dosyasının yüklemeyi bitirdiği zamanı algılamak için, LoaderInfo nesnesinin, Loader nesnesinin contentLoaderInfo
özelliğiyle ilişkili olaylarını kullanabilirsiniz. Bu noktada, SWF dosyasındaki modülde bulunan kod, modülü başlatmak için çalıştırılabilir. Liste dışı modunda, bileşenleri veya medya varlıklarını içeren bir SWF dosyasını yüklemek için bir Loader örneği de kullanılabilir. Tekrar, bileşenlerin yüklenmesinin bittiği zamanı algılamak için LoaderInfo nesnesinin olay bildirimlerini kullanabilirsiniz. Bu noktada uygulama, SWF dosyasının kütüphanesindeki bileşenleri ve medya varlıklarını temsil eden ActionScript 3.0 sınıflarını başlatıp bu bileşenleri ve varlıkları kullanarak başlatılabilir.
Bir Loader nesnesinin durumunu belirlemek için, LoaderInfo nesnesinin Loader nesnesinin contentLoaderInfo
özelliğiyle ilişkilendirdiği şu olayları izleyin:
- Yükleme başladığında
open
olayı gönderilir. - Dosya yüklenemezse veya yükleme işlemi sırasında bir hata oluşursa,
ioError
ya dasecurityError
olayı gönderilir. - Dosya yüklenirken sürekli olarak
progress
olayı tetiklenir. - Bir dosyanın indirilmesi tamamlandığında, ancak yüklenen film klibinin yöntemleri ve özellikleri kullanılabilir duruma geçmeden önce
complete
olayı gönderilir. - Yüklenen SWF dosyasının özellikleri ve yöntemleri erişilebilir olduktan sonra
init
olayı gönderilir, böylece yüklenen SWF dosyasını işleyebilirsiniz.complete
işleyiciden önce bu olay gönderilir. SWF dosyalarının akışında,complete
olayından çok önceinit
olayı oluşabilir. Birçok amaç içininit
işleyiciyi kullanın.
Notlar (yalnızca iOS): iOS'ta AIR uygulamalarında, uygulama paketinden yalnızca ActionScirpt içeren bir SWF dosyası yükleyebilirsiniz. Bu kısıtlamaya herhangi bir ActionScript dahildir (örn. ActionScript için dışa aktarılan sınıf adlarına sahip varlıklar gibi). Herhangi bir SWF dosyasını yüklemek için, ana SWF ile aynı uygulama etki alanını kullanan SWF'yi yüklemeniz gerekir.
AIR 3.6'dan önceki sürümlerde, uygulama paketinden ya da bir ağ üzerinden yüklendiğine bakılmaksızın, yalnızca ActionScript bayt kodu içermeyen SWF dosyaları yüklenebilir. ActionScript'e sahip harici bir SWF dosyasını kullanmaya alternatif olarak, bir SWC kütüphanesi oluşturun ve bunu ana SWF'nize bağlayın.
Bu kısıtlamalar, bir uygulama iOS Simulator'da (ipa-test-interpreter-simulator ya da ipa-debug-interpreter-simulator) veya yorumlayıcı modunda (ipa-test-interpreter ya da ipa-debug-interpreter) çalıştığında geçerli değildir.
İlgili API Öğeleri
close | () | yöntem |
public function close():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Loader örneği için devam eden bir load()
yöntemi işlemini iptal eder.
İlgili API Öğeleri
load | () | yöntem |
public function load(request:URLRequest, context:LoaderContext = null):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bu Loader nesnesinin alt öğesi olan bir nesneye bir SWF, JPEG, aşamalı JPEG, animasyonsuz GIF veya PNG dosyası yükler. Animasyonlu bir GIF dosyası yüklerseniz, yalnızca birinci kare görüntülenir. Loader nesnesi yalnızca bir alt öğe içerebildiğinden, sonraki load()
isteklerinin başlatılması, halen beklemedeyse bir önceki isteği sonlandırır ve yeni bir yükleme başlatır.
Not: AIR 1.5 ve Flash Player 10'da, yüklenen bir görüntü 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, yüklenen bir görüntü 8.191 piksel genişliğindeyse en fazla 2.048 piksel yüksekliğinde olabilir.) Flash Player 9 ve önceki sürümleri ile AIR 1.1 ve önceki sürümlerinde, sınırlama yükseklikte 2.880 piksel ve genişlikte 2.880 pikseldir.
Loader nesnesine yüklenen bir SWF dosyası veya görüntü, Loader nesnesinin üst görüntüleme nesnelerinin position, rotation ve scale özelliklerini miras alır.
Bu yöntemle yüklenen filmleri veya görüntüleri kaldırmak ya da devam eden bir yükleme işlemini iptal etmek için unload()
yöntemini kullanın.
SWF içeriğini barındıran HTML sayfasındaki object
veembed
etiketlerinin allowNetworking
parametresini ayarlayarak bir SWF dosyasının bu yöntemi kullanmasını önleyebilirsiniz.
iOS notları
iOS'ta AIR uygulamalarında, uygulama paketinden yalnızca ActionScript içeren bir SWF dosyası yükleyebilirsiniz. Bu kısıtlamaya herhangi bir ActionScript dahildir (örn. ActionScript için dışa aktarılan sınıf adlarına sahip varlıklar gibi). Herhangi bir SWF dosyasını yüklemek için, ana SWF ile aynı uygulama etki alanını kullanan SWF'yi aşağıdaki örnekte gösterildiği gibi yüklemeniz gerekir:
var loader:Loader = new Loader(); var url:URLRequest = new URLRequest("swfs/SecondarySwf.swf"); var loaderContext:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain, null); loader.load(url, loaderContext);
Ayrıca iOS'ta, herhangi bir ActionScript ByteCode (ABC) içeren SWF dosyasını yükleyemez, ardından bunu kaldıramaz ve yeniden yükleyemezsiniz. Bunu yapmaya çalışırsanız çalışma zamanı 3764 hatasını verir.
AIR 3.6'dan önceki sürümlerde, uygulama paketinden ya da bir ağ üzerinden yüklendiğine bakılmaksızın, yalnızca ActionScript bayt kodu içermeyen SWF dosyaları yüklenebilir. ActionScript'e sahip harici bir SWF dosyasını kullanmaya alternatif olarak, bir SWC kütüphanesi oluşturun ve bunu ana SWF'nize bağlayın.
Bu kısıtlamalar, bir uygulama iOS Simulator'da (ipa-test-interpreter-simulator ya da ipa-debug-interpreter-simulator) veya yorumlayıcı modunda (ipa-test-interpreter ya da ipa-debug-interpreter) çalıştığında geçerli değildir.
Yükleyici güvenliği
Bu yöntemi kullanırken, Loader sınıfı açıklamasında açıklanan Flash Player güvenlik modelini aklınızda bulundurun.
Flash Player 10 ve sonrasında, yükleme (POST gövdesi içinde "content-disposition" başlığında "filename" parametresiyle belirtilir) içeren çok bölümlü bir Content-Type (örneğin, "multipart/form-data") kullanırsanız, POST işlemi, yüklemelere uygulanan güvenlik kurallarına tabidir:
- Fare tıklatma veya tuş basışı gibi kullanıcı tarafından başlatılan bir eyleme yanıt olarak POST işleminin gerçekleştirilmesi gerekir.
- POST işlemi etki alanları arasıysa (POST hedefi, POST isteğini gönderen SWF dosyasıyla aynı sunucuda değilse), hedef sunucunun etki alanları arası erişime izin veren bir URL ilke dosyası sağlaması gerekir.
Ayrıca çok bölümlü herhangi bir Content-Type için sözdiziminin geçerli olması gerekir (RFC2046 standardına göre). Sözdizimi geçersiz görünüyorsa, POST işlemi, yüklemelere uygulanan güvenlik kurallarına tabi olur.
Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik.
Parametreler
request:URLRequest — Yüklenecek SWF, JPEG, GIF veya PNG dosyasının mutlak ya da göreceli URL'si. Göreceli bir yolun ana SWF dosyasıyla ilişkili olması gerekir. Mutlak URL'lerin http:// veya file:/// gibi protokol başvurusu içermesi gerekir. Dosya adları, disk sürücüsü belirtimlerini içeremez.
| |
context:LoaderContext (default = null ) — Şunları tanımlayan özelliklere sahip bir LoaderContext nesnesi:
Yalnızca iOS: AIR for iOS'ta Tüm ayrıntılar için, LoaderContext sınıfındaki özelliklerin açıklamasına bakın. |
Olaylar
asyncError: — LoaderContext.requestedContentParent özelliği belirtildiyse ve yüklenen içeriğin belirtilen DisplayObjectContainer öğesine bir alt öğe olarak eklenmesi mümkün değilse, contentLoaderInfo nesnesi tarafından gönderilir. Yüklenen içerik bir flash.display.AVM1Movie ise veya requestedContentParent öğesine yapılan addChild() çağrısı bir hata gönderirse bu gerçekleşebilir.
| |
complete: — Dosya yüklemesi tamamlandığında contentLoaderInfo nesnesi tarafından gönderilir. complete olayı her zaman init olayından sonra gönderilir.
| |
httpStatus: — HTTP üzerinden bir ağ isteği yapıldığında ve Flash Player, HTTP durum kodunu algılayabildiğinde contentLoaderInfo nesnesi tarafından gönderilir.
| |
init: — Yüklenen SWF dosyasının özellikleri ve yöntemleri erişilebilir olduğunda contentLoaderInfo nesnesi tarafından gönderilir. init olayı her zaman complete olayından önce gerçekleşmelidir.
| |
ioError: — Bir yükleme işleminin başarısız olmasına neden olan bir girdi veya çıktı hatası oluştuğunda contentLoaderInfo nesnesi tarafından gönderilir.
| |
open: — Yükleme işlemi başladığında contentLoaderInfo nesnesi tarafından gönderilir.
| |
progress: — Yükleme işlemi devam ederken veri alındığında contentLoaderInfo nesnesi tarafından gönderilir.
| |
securityError: — Dosya sistemine sahip yerel sanal alandaki bir SWF dosyası, ağ iletişimine sahip yerel sanal alandaki içeriği yüklemeye çalışırsa veya tam tersi bir durumda contentLoaderInfo nesnesi tarafından gönderilir.
| |
securityError: — LoaderContext.requestedContentParent özelliği belirtildiyse ve LoaderContext.requestedContentParent öğesinin güvenlik sanal alanının yüklenen SWF'ye erişimi yoksa, contentLoaderInfo nesnesi tarafından gönderilir.
| |
unload: — Yüklenen bir nesne kaldırıldığında contentLoaderInfo nesnesi tarafından gönderilir.
|
Atar
IOError — request nesnesinin digest özelliği null değildir. SWZ dosyası (bir Adobe platformu bileşeni) yüklenirken URLLoader.load() yöntemi çağrıldığında yalnızca URLRequest nesnesinin digest özelliğini ayarlamalısınız.
| |
SecurityError — LoaderContext.securityDomain öğesinin değeri null veya SecurityDomain.currentDomain olmalıdır. Bu, yüklenen medyayı yalnızca onun doğal güvenlik sanal alanına veya kendinizinkine (kendi güvenlik sanal alanınıza yerleştirmeniz için ilke dosyası gerekir) yerleştirebileceğiniz gerçeğini yansıtır.
| |
SecurityError — Yerel SWF dosyaları, LoaderContext.securityDomain öğesini null dışında bir değere ayarlamayabilir. Yerel olmayan medyaların yerel sanal alanına aktarılmasına veya diğer yerel ortamların kendi doğal sanal alanlar dışında bir yere yerleştirilmesine izin verilmez.
| |
SecurityError — Ortak olarak ayrılmış bağlantı noktalarına bağlanamazsınız. Engellenen bağlantı noktalarının tam listesi için, bkz. "Ağ İletişimi API'lerini Kısıtlama", ActionScript 3.0 Geliştirici Kılavuzu.
| |
SecurityError — context parametresinin applicationDomain veya securityDomain özellikleri izin verilmeyen bir etki alanından geliyorsa.
| |
SecurityError — Yerel bir SWF dosyası, context parametresinin securityDomain özelliğini kullanmaya çalışıyorsa.
| |
IllegalOperationError — context parametresinin requestedContentParent özelliği Loader olursa.
| |
IllegalOperationError — LoaderContext.parameters parametresi boş olmayan bir değere ayarlanırsa ve Dize olmayan bazı değerler içerirse.
| |
IllegalOperationError — iOS'ta, uygulama ana uygulama etki alanından başka bir uygulama etki alanına SWF dosyası yüklemeye çalışırsa.
| |
IllegalOperationError — iOS'ta, uygulama yüklenmiş ve kaldırılmış, bir SWF'yi yeniden yüklemeye çalışırsa ve SWF, ABC kodu içeriyorsa.
| |
Error — iOS'ta, uygulama ActionScript kodu içeren uygulama paketinin dışından bir SWF dosyası yüklemeye çalışırsa. Bu hata yakalanamaz. Uygulama ekranında "Derlenmeyen ActionScript" başlığının bulunduğu bir iletişim kutusu olarak görünür. AIR 3.6'dan önceki sürümlerde bu hata, uygulama paketinde ister harici ister dahili olsun, ActionScript içeren herhangi bir SWF dosyasını yüklemeye çalıştığınızda oluşur.
|
İlgili API Öğeleri
loadBytes | () | yöntem |
public function loadBytes(bytes:ByteArray, context:LoaderContext = null):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bir ByteArray nesnesinde saklanan ikili veriyi yükler.
loadBytes()
yöntemi senkronize değildir. Yüklenmiş nesnenin özeliklerine ulaşmadan önce "init" olayını beklemeniz gerekir.
Bu yöntemi kullanırken, Loader sınıfı açıklamasında açıklanan Flash Player güvenlik modelini aklınızda bulundurun.
Not (yalnızca iOS): iOS'ta AIR uygulamalarında, uygulama paketinden yalnızca ActionScript içeren bir SWF dosyası yükleyebilirsiniz. Bu kısıtlamaya herhangi bir ActionScript dahildir (örn. ActionScript için dışa aktarılan sınıf adlarına sahip varlıklar gibi). Herhangi bir SWF dosyasını yüklemek için, ana SWF ile aynı uygulama etki alanını kullanan SWF'yi yüklemeniz gerekir.
AIR 3.6'dan önceki sürümlerde bu yöntemin çağrılmasının iOS üstünde bir etkisi yoktur.
Parametreler
bytes:ByteArray — Bir ByteArray nesnesi. ByteArray öğesinin içerikleri Loader sınıfı tarafından desteklenen şu dosya biçimlerinden herhangi biri olabilir: SWF, GIF, JPEG veya PNG.
| |
context:LoaderContext (default = null ) — Bir LoaderContext nesnesi. LoaderContext nesnesinin yalnızca applicationDomain özelliği uygulanır; LoaderContext nesnesinin checkPolicyFile ve securityDomain özellikleri uygulanmaz.
Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik. |
Olaylar
asyncError: — LoaderContext.requestedContentParent özelliği belirtildiyse ve yüklenen içeriğin belirtilen DisplayObjectContainer öğesine bir alt öğe olarak eklenmesi mümkün değilse, contentLoaderInfo nesnesi tarafından gönderilir. Yüklenen içerik bir flash.display.AVM1Movie ise veya requestedContentParent öğesine yapılan addChild() çağrısı bir hata gönderirse bu gerçekleşebilir.
| |
complete: — İşlem tamamlandığında contentLoaderInfo nesnesi tarafından gönderilir. complete olayı her zaman init olayından sonra gönderilir.
| |
init: — Yüklenen verilerin özellikleri ve yöntemleri erişilebilir olduğunda contentLoaderInfo nesnesi tarafından gönderilir. init olayı her zaman complete olayından önce gerçekleşmelidir.
| |
ioError: — Çalışma zamanı bayt dizisindeki veriyi ayrıştıramadığında contentLoaderInfo nesnesi tarafından gönderilir.
| |
open: — İşlem başladığında contentLoaderInfo nesnesi tarafından gönderilir.
| |
progress: — Veri belleğe aktarılırken contentLoaderInfo nesnesi tarafından gönderilir.
| |
securityError: — LoaderContext.requestedContentParent özelliği belirtildiyse ve LoaderContext.requestedContentParent öğesinin güvenlik sanal alanının yüklenen SWF'ye erişimi yoksa, contentLoaderInfo nesnesi tarafından gönderilir.
| |
unload: — Yüklenen bir nesne kaldırıldığında contentLoaderInfo nesnesi tarafından gönderilir.
|
Atar
ArgumentError — ByteArray nesnesinin length özelliği 0'dan büyük değilse.
| |
IllegalOperationError — context parametresinin checkPolicyFile veya securityDomain özelliği non-null ise.
| |
IllegalOperationError — context parametresinin requestedContentParent özelliği Loader olursa.
| |
IllegalOperationError — LoaderContext.parameters parametresi boş olmayan bir değere ayarlanırsa ve Dize olmayan bazı değerler içerirse.
| |
IllegalOperationError — iOS'ta, uygulama ana uygulama etki alanından başka bir uygulama etki alanına SWF dosyası yüklemeye çalışırsa.
| |
IllegalOperationError — iOS'ta, uygulama yüklenmiş ve kaldırılmış, ABC kodu içeren bir SWF'yi yeniden yüklemeye çalışırsa.
| |
Error — iOS'ta, uygulama ActionScript kodu içeren uygulama paketinin dışından bir SWF dosyası yüklemeye çalışırsa. Bu hata yakalanamaz. Uygulama ekranında "Derlenmeyen ActionScript" mesajının bulunduğu bir iletişim kutusu olarak görünür. AIR 3.6'dan önceki sürümlerde bu hata, uygulama paketinde ister harici ister dahili olsun, ActionScript içeren herhangi bir SWF dosyasını yüklemeye çalıştığınızda oluşur.
| |
SecurityError — context özelliğinin sağlanan applicationDomain özelliği izin verilmeyen bir etki alanındaysa.
| |
SecurityError — Ortak olarak ayrılmış bağlantı noktalarına bağlanamazsınız. Engellenen bağlantı noktalarının tam listesi için, bkz. "Ağ İletişimi API'lerini Kısıtlama", ActionScript 3.0 Geliştirici Kılavuzu.
|
İlgili API Öğeleri
loadFilePromise | () | yöntem |
public function loadFilePromise(promise:IFilePromise, context:LoaderContext = null):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 2.5 |
Bir IFilePromise örneği yükler.
loadFilePromise
yöntemi bir IFilePromise
nesnesini alır ve ikili veriyi yükler. Veri video gibi aşamalı bir akışsa yüklenen nesnenin özelliklerine erişmeden önce "init" öğesini veya progress olaylarını bekleyin. Aksi takdirde, verinin tamamen yüklendiğinden emin olmak için complete olayını bekleyin.
Bu yöntemi kullanırken, Loader sınıfı açıklamasında açıklanan Flash Player güvenlik modelini aklınızda bulundurun.
Parametreler
promise:IFilePromise — Bir IFilePromise nesnesi. Nesnenin veri kaynağı Loader sınıfı tarafından desteklenen dosya biçimlerinden herhangi biri olabilir: SWF, GIF, JPEG veya PNG.
| |
context:LoaderContext (default = null ) — Bir LoaderContext nesnesi. LoaderContext nesnesinin yalnızca applicationDomain özelliği uygulanır; LoaderContext nesnesinin checkPolicyFile ve securityDomain özellikleri uygulanmaz.
Güvenlikle ilgili daha fazla bilgi için, bkz. Flash Player Geliştirici Merkezi Konusu: Güvenlik. |
Olaylar
asyncError: — LoaderContext.requestedContentParent özelliği belirtildiyse ve yüklenen içeriğin belirtilen DisplayObjectContainer öğesine bir alt öğe olarak eklenmesi mümkün değilse, contentLoaderInfo nesnesi tarafından gönderilir. Yüklenen içerik bir flash.display.AVM1Movie ise veya requestedContentParent öğesine yapılan addChild() çağrısı bir hata gönderirse bu gerçekleşebilir.
| |
complete: — İşlem tamamlandığında contentLoaderInfo nesnesi tarafından gönderilir. complete olayı her zaman init olayından sonra gönderilir.
| |
init: — Yüklenen verilerin özellikleri ve yöntemleri erişilebilir olduğunda contentLoaderInfo nesnesi tarafından gönderilir. init olayı her zaman complete olayından önce gerçekleşmelidir.
| |
ioError: — Çalışma zamanı veri kaynağındaki veriyi ayrıştıramadığında veya veri kaynağı akışı okunabilir durumda olmadığında contentLoaderInfo nesnesi tarafından gönderilir.
| |
open: — İşlem başladığında contentLoaderInfo nesnesi tarafından gönderilir.
| |
progress: — Veri belleğe aktarılırken contentLoaderInfo nesnesi tarafından gönderilir.
| |
securityError: — LoaderContext.requestedContentParent özelliği belirtildiyse ve LoaderContext.requestedContentParent öğesinin güvenlik sanal alanının yüklenen SWF'ye erişimi yoksa, contentLoaderInfo nesnesi tarafından gönderilir.
| |
unload: — Yüklenen bir nesne kaldırıldığında contentLoaderInfo nesnesi tarafından gönderilir.
|
Atar
IllegalOperationError — context parametresinin requestedContentParent özelliği Loader olursa.
| |
IllegalOperationError — LoaderContext.parameters parametresi boş olmayan bir değere ayarlanırsa ve Dize olmayan bazı değerler içerirse.
| |
ArgumentError — Parametre olarak iletilen IFilePromise nesnesi null değerinde olursa
|
İlgili API Öğeleri
unload | () | yöntem |
public function unload():void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | AIR 1.0, Flash Player 9, Flash Lite 4 |
Bu Loader nesnesinin load()
yöntemi kullanılarak yüklenmiş bir alt öğesini kaldırır. İlişkilendirilmiş LoaderInfo nesnesinin property
özelliği null
değerine sıfırlanır. Diğer nesnelerin alt öğeye başvurusu olduğu için alt öğenin mutlaka yok edilmesi gerekmez; ancak bu artık Loader nesnesinin bir alt öğesi olmaz.
unload()
yöntemini çağırdığınızda Loader nesnesinin contentLoaderInfo
özelliği null
olarak ayarlanır. SWF ile yüklenen görsel varlıklar kaldırılır ve bellekten silinir. Yüklü SWF'deki ActionScript sınıfı tanımları bellekte, kod ise aynı uygulama etki alanında kalır. Bunun nedeni, yüklü SWF'nin söz konusu sınıf örneklerine erişebilmesi ve yeni örnekler oluşturabilmesidir.
Not (yalnızca iOS): AIR 3.6'dan önceki sürümlerde, bu yöntemin iOS üzerinde etkisi yoktur.
En iyi uygulama olarak, alt SWF dosyasını kaldırmadan önce alt SWF dosyasının LocalConnection, NetConnection, NetStream ve Sound gibi nesnelerindeki tüm akışları açıkça kapatmanız gerekir. Aksi takdirde, alt SWF dosyası kaldırıldığı halde alt SWF dosyasındaki ses çalmaya devam edebilir. Alt SWF dosyasındaki akışları kapatmak için, unload
olayını dinleyen alt öğeye bir olay dinleyicisi ekleyin. Üst öğe Loader.unload()
öğesini çağırdığında, alt öğeye unload
olayı gönderir. Şu kod, bunu nasıl yapabileceğinizi gösterir:
function closeAllStreams(evt:Event) { myNetStream.close(); mySound.close(); myNetConnection.close(); myLocalConnection.close(); } myMovieClip.loaderInfo.addEventListener(Event.UNLOAD, closeAllStreams);
İlgili API Öğeleri
unloadAndStop | () | yöntem |
public function unloadAndStop(gc:Boolean = true):void
Dil Sürümü: | ActionScript 3.0 |
Çalışma Zamanı Sürümleri: | Flash Player 10, AIR 1.5, Flash Lite 4 |
Alt SWF dosyası içeriğini boşaltmaya çalışır ve yüklü SWF dosyalarından komutların gerçekleşmesini durdurur. Bu yöntem, alt SWF dosyasının EventDispatcher, NetConnection, Timer, Sound veya Video nesnelerine verilen başvuruları kaldırarak, Loader.load()
veya Loader.loadBytes()
kullanılarak yüklenmiş SWF dosyalarını boşaltmayı dener. Sonuç olarak, alt SWF dosyası ve alt SWF dosyasının görüntüleme listesi için şu durum ortaya çıkar:
- Sesler durdurulur.
- Stage olayı dinleyicileri kaldırılır.
enterFrame
,frameConstructed
,exitFrame
,activate
vedeactivate
için olay dinleyicileri kaldırılır.- Zamanlayıcılar durdurulur.
- Camera ve Microphone örnekleri ayrılır.
- Film klipleri durdurulur
unloadAndStop()
yöntemini çağırdığınızda Loader nesnesinin contentLoaderInfo
özelliği null
olarak ayarlanır. SWF ile yüklenen görsel varlıklar kaldırılır ve bellekten silinir. Yüklü SWF'deki ActionScript sınıfı tanımları bellekte, kod ise aynı uygulama etki alanında kalır. Bunun nedeni, yüklü SWF'nin söz konusu sınıf örneklerine erişebilmesi ve yeni örnekler oluşturabilmesidir.
Not (yalnızca iOS): AIR 3.6'dan önceki sürümlerde, bu yöntemin iOS üzerinde etkisi yoktur.
Parametreler
gc:Boolean (default = true ) — Alt SWF nesneleri üzerinde çalışması (true ) veya çalışmaması (false ) için çöp toplayıcısına ipucu verir. Birçok nesneyi farklı zamanlarda boşaltıyorsanız, gc parametresinin false olarak ayarlanması, uygulama performansını artırabilir. Ancak, parametre false olarak ayarlandığında, unloadAndStop() komutu çalıştırıldıktan sonra SWF dosyasının medya ve görüntüleme nesneleri bellekte kalmaya devam edebilir.
|
İlgili API Öğeleri
- Bir
url
özelliği oluşturulur; bu, görüntü dosyasının konumu ve adıdır. LoaderExample
yapıcısında,loader
adında yeni bir Loader nesnesi oluşturulur; bu daha sonra 3. adımda açıklananconfigureListeners()
yöntemine iletilir.- Yapıcı, dosya adı ve konumunun bilinmesi için
url
iletilmiş şekilde yeni bir URLRequest nesnesi (request
) oluşturur. request
nesnesi,loader
nesnesininload()
yöntemine iletilir; bu da görüntüleme listesine görüntüyü yükler.- Yükleyicideki
click
olayı için birclickHandler
olay dinleyicisi kaydedilir. Bir fare tıklatmasından sonra, yüklenen görüntü kaldırılır. configureListeners()
yöntemi, şu yöntemleri kullanarak yedi tane olay dinleyicisi ekler:- Görüntü yüklemesi bitince
completeHandler()
yöntemi çalıştırılır. - Görüntü yerel olarak yüklenmezse ve yalnızca ağ isteği kullanılabilir hale getirilip Flash Player tarafından algılanabilirse
httpStatusHandler()
yöntemi çalıştırılır. initHandler()
yöntemi,completeHandler()
yönteminden önce veprogressHandler()
yönteminden sonra çalıştırılır. Genellikle,init
olayı SWF dosyalarını yüklerken daha yararlıdır.- Görüntü dosyası kullanılamadığında veya erişilemediğinde
ioErrorHandler()
yöntemi çalıştırılır. - Görüntü dosyası ilk açıldığında
openHandler()
yöntemi çalıştırılır. - Görüntü dosyası yüklenmeye başladığında ve bir de görüntü yüklemesi bittiğinde
progressHandler()
yöntemi çalıştırılır. - Kullanıcı görüntüyü tıklatınca
unload()
yöntemi kullanılarak görüntü kaldırıldığındaunLoadHandler()
yöntemi çalıştırılır.
- Görüntü yüklemesi bitince
Şu gereksinimleri göz önünde bulundurun:
- Bu örnek, Image.gif adında bir dosyayı, derlenmiş SWF dosyasıyla aynı dizine yerleştirmenizi gerektirir. Ana SWF dosyasının boyutlarına sığan bir alana sahip bir görüntüyü kullanın.
- Bu örnek, LoaderInfo nesnesi için kullanılabilir tüm olaylardan yararlansa da, çoğu durum yalnızca bir alt küme gerektirir. Özellikle bir görüntü dosyası yüklenirken, yerel bir görüntünün yüklenmesinde
complete
olayı (ve belki deioError
olayı) yeterlidir.
package { import flash.display.Loader; import flash.display.Sprite; import flash.events.*; import flash.net.URLRequest; public class LoaderExample extends Sprite { private var url:String = "Image.gif"; public function LoaderExample() { var loader:Loader = new Loader(); configureListeners(loader.contentLoaderInfo); loader.addEventListener(MouseEvent.CLICK, clickHandler); var request:URLRequest = new URLRequest(url); loader.load(request); addChild(loader); } private function configureListeners(dispatcher:IEventDispatcher):void { dispatcher.addEventListener(Event.COMPLETE, completeHandler); dispatcher.addEventListener(HTTPStatusEvent.HTTP_STATUS, httpStatusHandler); dispatcher.addEventListener(Event.INIT, initHandler); dispatcher.addEventListener(IOErrorEvent.IO_ERROR, ioErrorHandler); dispatcher.addEventListener(Event.OPEN, openHandler); dispatcher.addEventListener(ProgressEvent.PROGRESS, progressHandler); dispatcher.addEventListener(Event.UNLOAD, unLoadHandler); } private function completeHandler(event:Event):void { trace("completeHandler: " + event); } private function httpStatusHandler(event:HTTPStatusEvent):void { trace("httpStatusHandler: " + event); } private function initHandler(event:Event):void { trace("initHandler: " + event); } private function ioErrorHandler(event:IOErrorEvent):void { trace("ioErrorHandler: " + event); } private function openHandler(event:Event):void { trace("openHandler: " + event); } private function progressHandler(event:ProgressEvent):void { trace("progressHandler: bytesLoaded=" + event.bytesLoaded + " bytesTotal=" + event.bytesTotal); } private function unLoadHandler(event:Event):void { trace("unLoadHandler: " + event); } private function clickHandler(event:MouseEvent):void { trace("clickHandler: " + event); var loader:Loader = Loader(event.target); loader.unload(); } } }
Tue Jun 12 2018, 01:09 PM Z