0

ビットマップ上でグリフを配置する場所を指定するpngファイルとxmlファイルをロードするフォントクラスがあります。フォント ロード機能は、png 用と xml 用の 2 つのローダーを開始します。両方が完了すると、初期化関数が実行されます。奇妙なことに、Flash Builder からアプリを実行するとすべてが正常に動作し、IE では正常に動作しますが、Chrome を使用していて、Flash Builder を介して実行していない場合、コンテンツは以前に一度読み込まれています (ブラウザーのキャッシュをクリアすると問題が解決します)。次に、次の行がハングします。

public function bitmapLoadComplete(evt:Event):void
{
    mObject = LoaderInfo(evt.target).content;  // <--- hangs here
    itemLoaded();
}

mObject は次のように宣言されます。

public var mObject:*;

itemLoaded はカウンター (2 に初期化される) をデクリメントし、それがゼロの場合、両方のアセットがロードされたと判断し、init 関数を実行します。

何か案は?

アセットは次の場所にあります。

https://s3.amazonaws.com/IceCreamSoftware/letters0.png https://s3.amazonaws.com/IceCreamSoftware/letters.bitmapfont

4

1 に答える 1

0

checkPolicyFile が true に設定された LoaderContext を Loader オブジェクトの load() メソッドに渡すことができませんでした。これにより、Chrome 埋め込み Flash プレーヤーが通知していないセキュリティ サンドボックス違反が発生していました。ビルトイン プレーヤーを無効にしてデバッグ プラグインを使用すると、何が起こっているかを示すダイアログが表示されました。すべての良い教訓が得られました。奇妙なのは、次のことです。

1) Clearing the browser cache allowed the content to be loaded one time in Chrome
2) It always worked in IE
于 2013-01-22T16:48:53.333 に答える