如何使用一系列影片剪辑名称来控制 as3 中的这些剪辑?
Posted
技术标签:
【中文标题】如何使用一系列影片剪辑名称来控制 as3 中的这些剪辑?【英文标题】:How do I use an array of Movieclip names to control those clips in as3? 【发布时间】:2020-05-27 22:09:08 【问题描述】:我正在尝试为 Adobe 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 中的这些剪辑?的主要内容,如果未能解决你的问题,请参考以下文章
我如何使用Movieclip名称数组控制as3中的这些剪辑?