我很难正确地说出我的问题,所以如果它看起来令人困惑,我很抱歉。此外,我正在使用Flash Builder中的flixel库。它可能不是那么重要但因为可能任何知道比我更多甚至一点AS3的人都可能看到我做错了什么。
无论如何,我要做的是基本上创建我制作的这个方形对象的10个实例。我所要做的就是将它传递给x和y坐标以放置它并且它可以工作。所以我测试了我是否只做:
var testsquare:Bgsq;
testsquare = new Bgsq(0,0);
add(testsquare);
它工作得很好,就像我告诉它的那样在0,0处添加一个正方形,但是我想添加其中的10个,然后移动下一个创建25 px到右边的那个(因为每个正方形是25px)
我的问题是我只看到1个方格,就像它只有1个实例一样。
任何人都可能知道我可能做错了什么?
var counter:int = 0;
var bgsqa:Array = new Array;
for (var ibgs:int = 0; ibgs < 10; ibgs++)
{
bgsqa[counter] = new Bgsq(0,0);
bgsqa[counter].x += 25;
add(bgsqa[counter]);
counter++;
}
答案 0 :(得分:0)
for(var ibgs:int = 0; ibgs&lt; 10; ibgs ++)
{
bgsqa[counter] = new Bgsq(0,0);
bgsqa[counter].x = counter * 25;
add(bgsqa[counter]);
counter++;
}
它们从0开始,因此应用+=
只需将25添加到0.这应该可以解决问题。
答案 1 :(得分:0)
你在这里犯了很多错误。
首先,您使用伪迭代器(计数器)通过循环访问数组元素,而不是使用迭代器(ibgs)。
其次,我没有看到你正在迭代的数组(bgsqa)中的任何内容。难怪你有问题。这是你应该做的。
var bgsqa:Array = [];
for(var i:int=0;i<10;i++)
{
var bgsq:Bgsq = new Bgsq(i * 25, 0);
add(bgsq);
bgsqa.push(bgsq);
}
如果您的帖子准确无误,那么应该这样做。