AS3语法错误:在变量之前应为标识符



我得到以下错误:

1084:语法错误:在变量之前应为标识符

这是我的代码,我在谷歌上尝试了很多搜索这个错误,但没有。我该怎么修?

代码:

public function setAchievements(Subject:Array, Desc:Array, Coins:Array, Score:Array, Completed:Array) : *
{
(error line here)      for(var achievement:Achievement = null,var color:Color = null; this.achievements_mc.achievements_content.content_mc.numChildren > 0; )
{
this.achievements_mc.achievements_content.content_mc.removeChildAt(0);
}
var x:* = 0;
var y:* = 0;
for(var i:int = 0; i < Subject.length; i++)
{
achievement = new Achievement();
achievement.Subject_txt.text = Subject[i];
achievement.Description_txt.text = Desc[i];
achievement.Coins_txt.text = String(Coins[i]);
achievement.Score_txt.text = String(Score[i]);
if(Completed[i])
{
color = new Color();
color.brightness = -0.4;
achievement.transform.colorTransform = color;
achievement.icon.visible = true;
}
achievement.x = x;
achievement.y = y;
y = y + 125;
this.achievements_mc.achievements_content.content_mc.addChild(achievement);
}
}

AS3中for/for每个语句的正确语法是:

for each (var yourvariable:TypeOfVariable in list of objects)

for (var currObject:Person in listPerson)

(如果您的列表Person是ArrayCollection(

另一个正确的语法是:

for (var i:int; i < list.length(); i++)

但你写过:

for(var achievement:Achievement = null,var color:Color = null;
this.achievements_mc.achievements_content.content_mc.numChildren > 0;)

这不是一个正确的语法,因为循环变量和退出条件之间没有联系

也许你想写

for each(var achievement:Achievement in
this.achievements_mc.achievements_content.content_mc.numChildren)

然后你可以初始化

var color:Color = 0 or another value linked to iteration

最新更新