1

テキスト TLF を含む swf を作成しました。

その後、フレックス モバイル アプリケーションにロードしました。

最初は、ロードするのに多くの問題がありました。

1- まず、Loader を使用し、プロジェクトは Flash Professional で作成したためです。Flash Professional に含まれる Flash ライブラリの ProLoader で読み込むのが一番良い方法です。

2-最終的にロードしてデスクトップのシミュレーターで試したとき、iPadでデバッグおよび高速コンパイルモードで試しました。次のエラーがありました:

エラー #2100: Loader.loadBytes() の ByteArray パラメータの長さは 0 より大きい必要があります。

パブリッシュ設定ライブラリの「コードに結合」オプションを使用して、FLAでswfをコンパイルすることで修正しました。すごい!iPad の TLF が機能します。iOS作品で!

3- しかし、同じコード (以前はデバイスのデバッグで動作していた) のリリースをビルドすると、それを開くと画像しか表示されません。テキストではありません。 リリースではなくデバッグで機能するのはなぜですか??

私が何を忘れたか知っていますか?

よろしくお願いします。

いくつかのコードを追加するために編集

swfs を埋め込み、アイテム レンダラーに読み込みます。リストには ID のデータプロバイダーがあります。そして、IDに対応するswfを各アイテムレンダラーにロードします。

[Embed(source="/bin/histologia.swf")]
public const PAG_01:Class;

[Embed(source="/bin/histologia.swf")]
public const PAG_02:Class;


public function set data( value:Object ):void {
    ...
    var pagAsset:Class = pagesAssets.assets[value];
var pag:MovieClip = new pagAsset();
var SWFClass:ByteArray = pag.movieClipData;
var ldrContext:LoaderContext = new LoaderContext(false, new     ApplicationDomain(ApplicationDomain.currentDomain)); 
    ldrContext.allowLoadBytesCodeExecution = true;
    currentLoader.loadBytes(SWFClass, ldrContext);

¿loadBytes はランタイム コードを意味しますか? =(私はアドビの記事でこれを読みました:

TLF テキストを使用する場合、iOS は実行時に RSL をロードしないため、TLF のライブラリであるコードを swf にマージしました。

私は何をしているのですか?? どのように埋め込んで使用できますか? この答えは私に役立つと思いますが、よくわかりません

更新 2

コードを変更しました。@Jeff Ward の swf マージを使用しましたが、結果は同じです。swf はロードされますが、TLF テキストは表示されません。

var pagAsset:Class = pagesAssets.assets[value];
var pag:MovieClip = new pagAsset();
addChild(pag);

どうして??

4

0 に答える 0