var textArray:Array = [
interludes.interludeIntro.interludeBegin1,
interludes.interludeIntro.interludeBegin2,
interludes.interludeIntro.interludeBegin3,
interludes.interludeIntro.interludeBegin4,
interludes.interludeIntro.interludeBegin5,
interludes.interludeIntro.interludeBegin6,
interludes.interludeIntro.interludeBegin7,
//... ... ...
interludes.interludeIntro.interludeBegin15
];
for each (var interludeText:MovieClip in interludeBeginText)
{
interludeText.alpha = 0 //clear all text first
}
由于某些原因,这不起作用:
interludes.interludeIntro.alpha = 0;
它永久地使该类不可见,即使我稍后尝试使用:
使特定实例可见interludes.interludeIntro.interludeBegin1.alpha = 1;
我不知道为什么以上不起作用。我想让类interludeIntro中的每个实例都不可见,但我想稍后将特定实例变为可见。
(顺便说一下我不知道如何在这个网站上插入代码,按“代码”不做任何事情,所以原谅糟糕的格式化)
答案 0 :(得分:1)
我不确定你在问什么,但可能有用的是,在ActionScript中你可以按名称引用属性,比如myObject["someProperty"]
。
使用它,如果它们遵循某些命名方案,您可以迭代属性,例如:
for (var i:int = 1; i <= 15; i ++)
interludes.interludeIntro["interludeBegin" + i].alpha = 0;
迭代interludes.interludeIntro.interludeBegin1
到...15
并将alpha
属性设置为0
。
答案 1 :(得分:1)
当你这样做时:
interludes.interludeIntro.alpha = 0;
您将影片剪辑和的所有子项都隐藏起来。
稍后当你这样做时:
interludes.interludeIntro.interludeBegin1.alpha = 1;
您可以使影片剪辑可见,但由于其父级仍然不可见,因此您看不到任何内容。解决方案是遍历影片剪辑并使其中的每一个都不可见/可见。
// Keep the parent visible at all time
interludes.interludeIntro.alpha = 1;
for (var i:int = 0; i < textArray.length; i++) {
textArray[i].alpha = 0;
}
// Now this will work:
interludes.interludeIntro.interludeBegin1.alpha = 1;