【问题标题】:Trouble using Loader, can't access properties of loaded swf使用 Loader 时遇到问题,无法访问已加载 swf 的属性
【发布时间】:2010-04-29 01:09:32
【问题描述】:

可能没有正确提问,所以我再次提问。我正在使用 Flash AS3 和动作层中的代码。

舞台上的主要影片剪辑是:design_mc。其中有一个已在舞台上放置的影片剪辑,其实例名称为clipart_mc。

现在我还将一个 ListBox 加载到舞台上,每次从列表框中进行选择时,myLoader9 用于将选定的 .swf 加载到 design_mc.clipArt_mc 中​​。

现在,在每个加载到 design_mc.clipArt_mc 的 .swf 文件中,都有一个我想进行颜色转换的 mc,名为 color_mc。

现在列表框出现在舞台上,我进行了选择,将 heart.swf 放置在 design_mc.clipArt_mc 中​​。我想访问 heart.swf 所以我这样做了:

var child:DisplayObject = myLoader9.content.contentLoaderInfo.content.color_mc;
var colorTrans3:ColorTransform = new ColorTransform();
var trans3:Transform = new Transform(child);

我仍然无法访问 heart.swf。有人可以帮忙吗?

安妮

【问题讨论】:

    标签: actionscript-3 loader


    【解决方案1】:

    我在这里使用嵌入式 SWF,但我认为它是一样的。我可以从 Loader 的“内容”属性中获取我的 MovieClip。像这样:

    var myMC:MovieClip = MovieClip(myLoader9.content);
    

    试试这种方式,而不是使用“content.contentLoaderInfo.content”。

    :)

    【讨论】:

    • 感谢您的回答,加载程序不工作。改为尝试: var child:DisplayObject = MovieClip(parent).design_mc.clipArt_mc;这是固定夹的路径。很好,因为我可以将颜色应用于clipart_mc 中​​的整个嵌入式swf,这对于某些嵌入式swf 来说是可以的。不适合flower.swf。我只想为这个 swf 中包含 color_mc 的图层着色,这些图层是花瓣。所以当我插入时: var child:DisplayObject = MovieClip(parent).design_mc.clipArt_mc.color_mc;我收到错误 #2007 说 displayObject 必须是非空的。
    【解决方案2】:

    我明白了。我给加载器起了个名字:

    myLoader9.name = "currentClip";
    

    然后我可以在主电影中使用:

    var child:DisplayObject = MovieClip(parent).design_mc.clipArt_mc.getChildByName("currentClip").content.color_mc;
    

    【讨论】:

      猜你喜欢
      • 2015-02-10
      • 2011-07-17
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-14
      • 1970-01-01
      相关资源
      最近更新 更多