0

我刚刚提交了这个问题,但我看不到它是否在任何地方发布,所以如果这是重复的,我深表歉意。

对于 Flash CS4 项目,我不断地导入新图像,将它们转换为影片剪辑,并将它们存储在“Ornaments”文件夹下的库中。所有这些装饰品都需要在程序初始化时出现在舞台上的某个地方。每次添加新符号时都不必将新符号拖到舞台上,是否可以在运行时将“装饰”库文件夹中的所有符号添加到舞台上?

谢谢

4

1 回答 1

1

如果您愿意,您可以在代码中执行此操作,但您仍必须将符号名称添加到代码中。也就是说,该文件夹只是为了方便在 CS4 库中进行组织,它不会转换为代码 (AFAIK)。

要在 AS3 中实例化项目,只需右键单击库中的符号并选中标有“Export for ActionScript”的框。如果看不到它,请单击“高级”按钮。它将默认 Class 为符号的名称。这将是您可以在 ActionScript 中实例化以将实例放到舞台上的类。

您可以保留一组装饰名称并循环遍历它们,将它们添加到舞台:

var ornaments:Array = [OrnamentGold, OrnamentSilver, OrnamentBronze];

for each(var ornament:Class in ornaments)
{
    var ornamentClip:MovieClip = new ornament();
    addChild(ornamentClip);
}

如果您将所有实例命名为相同且仅增加一个尾随数字,则可以节省一些时间并仅增加一个数字:

const NUM_ORNAMENTS:int = 5;

for(var i:int = 0; i < NUM_ORNAMENTS; i++)
{
    // ornaments are names Ornament0, Ornament1, Ornament2, etc. in the library
    var ornamentClass:Class = new getDefinitionByName("Ornament" + i) as Class;
    var ornamentClip:MovieClip = new ornamentClass();
    addChild(ornamentClip);
}
于 2009-08-26T18:38:59.940 回答