0

我对actionscript有点陌生,所以请多多包涵。我正在尝试将矢量绘制为 Sprite,并将它们添加为父“容器”下的子级。当我在“容器”(使用跟踪)下列出孩子的名字时,输出清楚地显示了添加的 Sprite 的每个实例。当我测试这部电影时,我看不到任何精灵。当我删除 'test = new Sprite();' 从循环中更改 'var test:Sprite;' 到'var test:Sprite = new Sprite();',我可以看到精灵。我的目标是创建 Sprite 的单独实例,以便我可以单独访问它们,但我看不到它们。任何帮助将非常感激!

import flash.display.Sprite;
var container:Sprite = new Sprite();
container.x = 0;
container.y = 0;
addChild(container);
var test:Sprite;
var i:int = 0;

while (i < 10) {
    test = new Sprite();
    test.graphics.drawRect(0 + i*10,0 + i*10,0 + i*10,0 + i*10);
    test.graphics.beginFill(0x000000);
    test.graphics.endFill();
    test.name = "test" + i;
    container.addChild(test);
    i++;
}
for (var k:int = 0; k < container.numChildren; k++) {
    trace(container.getChildAt(k).name);
}
4

1 回答 1

0
import flash.display.Sprite;
var container:Sprite = new Sprite();
container.x = 0;
container.y = 0;
addChild(container);
var test:Sprite;
var i:int = 0;

while (i < 10) {
    test = new Sprite();
    test.graphics.beginFill(0x000000);
    test.graphics.drawRect(0 + i*10,0 + i*10,0 + i*10,0 + i*10);
    test.name = "test" + i;
    test.x = 200;
    test.y = 100;
    container.addChild(test);
    i++;
}
for (var k:int = 0; k < container.numChildren; k++) {
    trace(container.getChildAt(k).name);
}

在绘制矩形之前开始填充,我认为你也需要设置 x 和 y。

http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/display/Sprite.html

于 2013-05-17T10:25:36.337 回答