0

外部からロードされた SWF の配置に問題があります。xおよびのy値の設定にはまったく応答しません。

私が読み込んでいる swf は、メイン クラスが拡張されている FlashDevelop で作成された純粋な as3 プロジェクトですsprite。その後、MonsterDebugger を使用してxとの値を変更しようとしましたが、うまくいきませんでした。y

SWF はステージの右側にあるコンテナーにロードされますが、常に左上隅に配置されます。読み込みは簡単です:

public var targetContainer:Sprite;
public function load(path:string):void {

    loader = new Loader();
    loader.contentLoaderInfo.addEventListener(Event.COMPLETE, successHandler);

    var movie:MovieClip = new MovieClip();
    movie.addChild(loader);
    targetContainer.addChild(movie);

    loader.load(new UrlRequest(pathToSwf));
}
private function successHandler(e:Event):void {    
    //this does nothing for the one file, but affect any other swf i load
    e.target.content.x = 300;
}

他のswfファイルではこの問題は発生しないので、特定のas3プロジェクトのコードの問題に関係していると推測しています。

あらゆる提案に感謝します!

4

2 に答える 2

1

movie.x = 300;の代わりに試してくださいevent.target.content.x = 300。ローダーのコンテンツは、ロードしている swf のルート DisplayObject です。ロードされた swf 内にはx、同じ DisplayObject のプロパティをある時点で設定 (したがってオーバーライド) するコードが含まれている可能性があります。

于 2010-07-02T15:48:19.783 に答える
0

もう一度同じ問題が発生しました...パッケージとクラス名の競合...そのようなことで警告された場合、それは素晴らしいことですが、これからは長くて認識できない名前があり、実際に誰が誰であるかがわかります彼らです ;)

奇妙なことに、読み込まれた swf 全体が最初に左上隅に配置され、次に、「ゲーム内」の MonsterDebugger を介しても位置を変更できませんでした...

初心者、それは本当に空中にあります!

于 2010-07-05T21:05:40.553 に答える