我一整天都在寻找这种情况的错误,我没有找到答案......我刚刚开始使用AS(以及一般的编程人员),对不起,如果这是一个转储问题,但我无法理解:
我有一个空的工作流程。我创建了一个3个帧的动画片段,每个帧都有一个标签。
我创建了3个数组,1个用于标签,2个用于对象的位置。
我发布项目并没有错误,但我只能在屏幕上看到第一个addChild。 这是代码:
var Piece:piece = new piece;
var Piece_type:Array = [
"tS", "tD", "tC"];
var X: Array = [25,55,85];
var Y: Array = [221,221,221];
PrintBoard();
function PrintBoard():void
{
for(var i:int = 0; i < Piece_type.length; i++)
{
addChild(Piece);
Piece.x = X[i];
Piece.y = Y[i];
Piece.label = Piece_type[i];
trace("why?");
}
}
控制台中没有错误,循环完成3次遍历,但只有1个对象。我正在使用Actionscript 3,发布设置适用于Air 3.2 Android
如果有人知道发生了什么,那将非常有用......谢谢。
答案 0 :(得分:0)
您需要创建一个类instance
:
for(var i:int = 0; i < Piece_type.length; i++)
{
var myPiece:Piece = new Piece;
addChild(myPiece);
myPiece.x = X[i];
myPiece.y = Y[i];
myPiece.label = myPiece_type[i];
trace("why?");
}
此外,命名与actionscript关键字或属性相同的东西并不是一个好主意 - 比如命名数组&#34; X&#34; - 在某些情况下可能不会造成伤害,但可能会导致其他情况下的混乱。