我在库中有一个名为“number”的MovieClip
。我需要将该MovieClip的多个实例添加到舞台上。应该将实例称为number1
,number2
,number3
...并且每个实例都需要在其中包含不同的文本。
是否可以在没有代码的情况下执行此操作,只需使用Flash界面工具?如果没有,有人可以帮我编码吗?
谢谢!
答案 0 :(得分:1)
对于包含名为MyNumber
的文本字段的<{1}}类:
output
答案 1 :(得分:1)
你必须使用代码 - 至少一点点。
除了 @helloflash 的答案之外,这里还有一个更简单的解决方案(下面将介绍一些注意事项)。
在您的movieClip上,让您的文本框动态化,并为其指定实例名称txt
(或您喜欢的任何内容)。然后,将以下代码行放在movieClips的时间轴的第一帧:
txt.text = this.name; //works if your text is a simple word with no spaces/puntuaction/symbols and doesn't match any actionscript keywords
这会将文本设置为每个movieClip的实例名称。如果你的文字是简单的像#34; Hello&#34;或&#34; Player1&#34;。
现在,如果您的文字是一个数字(或以一个开头),或者您的文字与关键字或已定义的变量匹配(如此/ continue / function / break / stop / play等),那么您&# 39;我需要让它更复杂一点,如下:
txt.text = this.name.replace("$MC_","");
然后以这种格式提供您的实例名称: $ MC_stop ,代码将删除$MC_
部分并显示其余部分。所以文本字段将是&#34;停止&#34;。
现在,如果您想要包含空格或大多数符号(美元符号,下划线和短划线,我认为是唯一受支持的符号),您必须为每个符号添加替换并为其创建占位符那个角色。
因此,如果你的文字是&#34; 这是我的文字&#34;,你应该给它一个实例名称`this_is_my_text&#34;这应该是代码:
txt.text = this.name.replace("_"," "); //replace all underscores with space
为所需的字符添加尽可能多的替换语句。
所以,如果你发短信是&#34; 1。这是我的文字!!! &#34; - 实例名称可以是:$MC_1$dot_This_is_my_text$ex$ex$ex
和代码:
txt.text = this.name.replace("$MC_","").replace("_"," ").replace("$dot",".").replace("$ex","!"); //you can keep chaining on as many replace statements as you need.
当然,在这一点上你也可以使用像@ helloflash的答案那样完整的代码。但是如果你的文字并不那么复杂,那对你来说这可能是一个很好的解决方案。