Movieclip ローダーを使用して、swf(as3) を別の As3 Swf にロードしようとしています。ただし、読み込み後、Loader.width/loader.content.width は、読み込まれている swf の実際の幅よりも誇張された値を返します。不一致の検索をどこから開始するかについての指針はありますか? 前もって感謝します。
詳細(役立つ場合)
読み込まれる swf には、ドロップダウン、入力ボックス、コンボ ボックス (入力するフォーム) などの UI コンポーネントと、コード化された 1 回限りのトゥイーンがあります。
子 MC が親ムービークリップに読み込まれると、返される Loader.width 値は約 28 ピクセル誇張されます (ただし、高さは同じままです)。Loader.content.width も 28 ピクセルの誇張された値を返します。誇張された値は、子MCのステージ幅よりも大きくなっています。余分な ~30 ピクセルは、親ムービーの後続のコードを混乱させて、ロードされた swf を拡大縮小および中央揃えします。
アップデート:
stage.stageWidth は正しい値を返します。
外部 SWF をロードするために親 MC で使用されるコード:
private var deadURL = "child.swf";
private var deadReq:URLRequest = new URLRequest(deadURL);
private var deadLoader:Loader = new Loader();
deadLoader.load(deadReq);
deadLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onDeadLoad);
public function onDeadLoad(e:Event):void
{
addChild(deadLoader);
trace("content.width: " + deadloader.content.width); //returns exaggerated value
trace("width: " + deadLoader.width); //returns same exaggerated value
}