2017-01-17 8 views
0

私はflash ccを使用してアプリケーションを作成しています。アプリでは、私はゲームの束である外部swfファイルを読み込む必要があります。私は自分の名前を読むためにswfファイルが必要です。私はその名前を読むためにswfが独自の名前を読み取るようにします

var swfName:String = decodeURIComponent(this.loaderInfo.url.split("/").pop())コードを使用しました。できます。しかし、私がアプリで持っていた問題は、サイズでした。だから私は外部のswfファイルをapkから除外してsdカードからロードしなければならなかった。その問題は、サンドボックスエラーでした。だから、byteArrayloaderContextを使用して、サンドボックスのエラーを回避しました。それは今swfファイルが独自のファイル名を読み取っていない以外は素晴らしい仕事をしている代わりに、アプリの名前を読み込んでいます。 swfファイルをbyteArrayを使ってロードしているときに、自分の名前を読み込ませることができますか?どんな助けも素晴らしいだろう。前もって感謝します。

答えて

0

Loaderオブジェクトは、読み込まれたコンテンツのルートを文書化するための親です。あなたはLoader.nameプロパティに欲しいものを渡します。

var aLoader:Loader; 
var aSource:ByteArray; 

aLoader = new Loader(); 
aLoader.name = "foo.swf"; 
aLoader.loadBytes(aSource); 

その後、外部SWF(クラスやフレーム、無関係)のドキュメントルートに:

trace(parent);  // [object Loader] 
trace(parent.name) // foo.swf 
+0

答えをありがとう。しかし、私はクロスチェックとセキュリティの目的のために独自の名前を読むswfファイルが必要です。独自のファイル名を読み取ることはできませんか? – TheGunners

+0

セキュリティをバイパスすることは**です**なぜあなたはこのようにしていますか?コンテンツに埋め込まれたファイル名はありません。どこからでもロードすることができます。または、実行時にByteArrayに1バイトずつ書き込むこともできます。すべて同じです。 – Organis

+0

File.applicationStorageDirectory場所からファイルを読み込むことができるかどうかを調べることで、サンドボックスエラー(これが機能するとは限りません)を避けることができます。 – Organis

関連する問題