我得到以下错误:
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