[英]problems with loading embedded swf files in air app
我有一個使用Flash CS 5.5創建的游戲文件。 我還有另一個swf文件,即嵌入在該游戲文件中的提示文件。 它在PC上工作正常。 當我嘗試使用嵌入式swf文件加載該游戲文件時遇到問題。 我收到以下錯誤:SecurityError:錯誤#3226:LoaderContext.allowCodeImport為false時無法導入SWF文件。 誰能告訴我為什么會這樣?
我想您正在使用Android設備上的Adobe Air移動版。 在air for mobile中,加載外部SWF文件存在額外的限制-尤其是當它們包含字節碼(ActionScript)時。 因為您的輔助SWF文件本身包含動作腳本代碼,所以如果沒有明確的安全限制,則無法加載到移動air應用程序中。
當實例化引用嵌入式SWF文件的類時,AS3隱式使用Loader
,並且使用默認選項進行加載-對於移動運行時環境,默認選項設置為空。
您可以通過自己創建Loader
和LoaderContext
實例來手動加載它們。
var ldr:Loader = new Loader();
var lc:LoaderContext = new LoaderContext(false, ApplicationDomain.currentDomain);
lc.allowCodeImport = true;
ldr.load(new URLRequest("YOUR_FILE_PATH"), lc);
還要注意,在iOS中,即使將allowCodeImport
設置為true,也無法以任何方式加載外部SWF代碼。
有關更多詳細信息: http : //blogs.adobe.com/airodynamics/2012/11/09/packaging-and-loading-multiple-swfs-in-air-apps-on-ios/
嘗試這種上下文:
var loaderContext: LoaderContext = new LoaderContext();
loaderContext.allowLoadBytesCodeExecution = true;
swfLoader.loaderContext = loaderContext;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.