我有一个加载外部.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制作movieclip;但它不会起作用。
我尝试了很多代码,现在它抛出了这个错误:
Scene=Escena 1, layer=Capa 1, frame=1, Line 9 There is no property with the name 'content'.
有什么想法吗?
如果你有更好的代码,我会非常感谢你。
答案 0 :(得分: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);