如何使用一系列影片剪辑名称来控制 as3 中的这些剪辑?

Posted

技术标签:

【中文标题】如何使用一系列影片剪辑名称来控制 as3 中的这些剪辑?【英文标题】:How do I use an array of Movieclip names to control those clips in as3? 【发布时间】:2020-05-27 22:09:08 【问题描述】:

我正在尝试为 Adob​​e animate 重建一个旧的小程序(最初是在 Flash - actionscript 1 中) 这是我正在尝试编写的代码(过去在 as1 中运行良好)

function getoddnumbers()
for(i=1;i<=100;i+=2)with(eval("answer"+i))gotoAndStop(3);



所以我知道 eval 不再起作用,所以我把它拿出来-

    var i:Number;
    function getoddnumbers()
    for(i=1;i<=100;i+=2)with("answer"+i)gotoAndStop(3);

    
    

但现在 as3 不喜欢 gotoAndStop() 命令。有什么想法可以使用名称数组 answer1、answer2 等来控制这些影片剪辑吗? 感谢您的帮助 祝你有美好的一天

【问题讨论】:

【参考方案1】:

使用 AS3 可以像使用 AS2 一样使用 gotoAndStop 函数来控制 MovieClip 的播放头。您上面的代码很可能不起作用,因为with("answer"+i) 没有返回 MovieClip 实例,因此它无法找到它的 gotoAndStop 方法。

鉴于您通过 Flash 的 IDE 将所有 MovieClip 实例放在舞台上,并且所有实例都通过其属性面板设置了 instance 名称,您可以使用 获取对它们的名称的引用getChildByName() 函数。 换个试试

for(i=1;i<=100;i+=2)with("answer"+i)gotoAndStop(3);

通过

for(i=1;i<=100;i+=2)

    MovieClip(getChildByName("answer"+i)).gotoAndStop(3);

【讨论】:

非常感谢

以上是关于如何使用一系列影片剪辑名称来控制 as3 中的这些剪辑?的主要内容,如果未能解决你的问题,请参考以下文章

影片剪辑中的 As3 Flash 按钮

AS3:如何从影片剪辑内部检查和重置主时间轴上的变量

我如何使用Movieclip名称数组控制as3中的这些剪辑?

用flash as3语言如何将影片剪辑存入一个数组以及如何访问?

As3 影片剪辑背景图像大小

as3 以普通影片剪辑的形式访问子项(gotoAndPlay 等)