0

原谅我,我不是一个合适的 JS 程序员,但我仍然在思考很多概念。

假设有一组类似的 2 帧/2 状态翻转影片剪辑嵌套在包含剪辑中,该剪辑具有实例名称“地图”。每个剪辑使用一个 4 位数的 ID 号,前面有一个“s”作为实例名称——例如,“s6566”。

假设一个人想要捕获这些各自的实例名称来定义一个变量,这样一个小脚本就可以允许这些电影剪辑中的每一个在翻转/活动状态(在本例中为“6566”)跨多个文件显示它们的 ID。

最终,我有成千上万个这样的小剪辑分布在几十个文档中,似乎应该相当简单地抓住每个符号的实例名称/ID,从头开始去掉“s”(因为实例名称不能以一个数字),并将所述 ID 作为动态文本应用于其各自符号的翻转/活动框架。

有没有实现这个目标的方法?我希望我有一些示例代码可以包含在这里,但我不太确定如何开始,除了这样布置问题。还没有找到任何关于捕获实例名称的信息,我不确定它是否可能。谢谢。

4

1 回答 1

0

MovieClip 的子项使用它们的实例名称作为引用存储。可以在导出的库JS文件中看到格式。请注意,Animate 将转换某些实例名称以删除不受支持的字符或重复项。

这是一些未经测试的伪代码,可帮助您入门。

// You can iterate a MovieClip and get the names
for (var name in someMovieClip) {
    // Ignore anything not starting with an s
    if (name.substr(0,1) != "s") { continue; }

    // remove the s
    var newName = name.substr(1);

    // The child can be accessed using bracket-access with its name
    var child = someMovieClip[name];

    // The child should have text instances if it is set up how you described
    // Set the text to the newName
    child.textInstance.text = newName
}

进行更改后不要忘记更新阶段。如果您已经设置了 Ticker 来执行此操作,它应该会立即更新。

我希望这会有所帮助。如果您有后续问题,请告诉我。

于 2019-06-08T13:24:29.413 回答