我一直致力于一个flash项目,我正在制作一个成就显示,每个成就进度都完成,奖励完成。我想在舞台上添加多个textFields,并分别为每个文本添加文本。我有30个文本框,我认为有更好的方法来添加它们,而不是为每个文本框创建不同的类。
public var progress1:textField = new textField();
public var progress2:textField = new textField();
public var progress3:textField = new textField();
public var progress4:textField = new textField();
...And so on until 30
有没有办法添加它们并使用for循环更改它们的文本,因为这似乎不是一种有效的方法。 我还必须将一个影片剪辑添加到舞台上30次,并且每次都有一种方法可以在for循环中进行更改。
答案 0 :(得分:0)
您可以将文本字段保存在这样的矢量中。
var texts:Vector.<TextField> = new Vector.<TextField>();
var num:int = 30;
for (var i:int = 0; i < num; i++)
{
texts.push(new TextField());
}
//change the text in a loop;
var content:Array = ["text1", "text2" ...];//the contents for the texts to show
var max:int = Math.max(content.length, texts.length);
for (var j:int = 0; j < max; j++)
{
texts[j].text = content[j];
}