1

外部の.swfをロードする.swfがあります。

this.createEmptyMovieClip("container_mc", this.getNextHighestDepth());
var my_listener:Object = new Object();

my_listener.onLoadComplete = function(target_mc:MovieClip) {
target_mc._x = 50;
target_mc._y = 50;
addChild(my_loader);

        var blocker = my_loader.content.test
        blocker._visible = false;
}

my_listener.onLoadProgress = function(target_mc:MovieClip) {
trace(target_mc.getBytesLoaded() + " out of " + target_mc.getBytesTotal());
}

var my_loader:MovieClipLoader = new MovieClipLoader();
my_loader.addListener(my_listener);
my_loader.loadClip("child_as2.swf", container_mc);

外部swfにアクセスし、インスタンス名testのムービークリップをvisible=falseにしたいと思います。しかし、それは機能しません。

私はたくさんのコードを試しましたが、今はこのエラーがスローされます:

Scene=Escena 1, layer=Capa 1, frame=1, Line 9 There is no property with the name 'content'.

何か案が?

あなたがより良いコードを持っているなら、私は本当にあなたに感謝します。

4

1 に答える 1

0

まず、AS2 と AS3 を混在させているようです。AS2 には addChild メソッドがなく、ロードしているものはすべて、ロードされると追加されます。外部ムービークリップを後でのみアクティブ化する場合は、最初のフレームが空白ですべてが 2 番目のフレームになるようにルートを作成することをお勧めします。次に、onLoadInit で gotoAndStop(1) に指示します。サンプルコードは次のとおりです。

var loader:MovieClipLoader = new MovieClipLoader();
loader.addListener({
    onLoadInit: function(mc:MovieClip):Void {
        mc.gotoAndStop(1);
    }
});

var container:MovieClip _root.createEmptyMovieClip('mc_container', _root.getNextHighestDepth());
loader.loadClip('clip.swf', container);
于 2012-10-28T10:46:34.820 に答える