attachMovie()AS3中的AS2功能?

时间:2013-10-17 00:33:39

标签: android actionscript-3 flash air actionscript-2

所以我在屏幕的左下方有一个名为world的movieclip,它假设“生成”所有块动画片段以填充屏幕。块movieclip称为块,仅存在于库中。 worldWidth,blockSize和worldHeight只是数字。

通常,在AS2中,我可以这样做:

for (var x = 1; x <= blockWidth; x++) {
    for (var y = 1; y <= blockHeight; y++) {
        temp = world.attachMovie("block","bX" + x + "Y" + y, world.getNextHighestDepth());
        temp._x = x*blockSize-blockSize/2;
        temp._y = -y*blockSize+blockSize/2;
    }
}

一切都会很完美..

但我正在使用adobe air for android和AS3被迫。 AS3缺少“attachMovie()”函数。我已经搜索了解决方案,但它们的情况太具体,我无法理解。

有什么想法吗?

更新:

我尝试使用提供的答案开始这个,这就是我所拥有的:

stop();
import flash.display.MovieClip;
var blockSize:Number = 32;
var worldWidth:Number = 800/blockSize;
var worldHeight:Number = 480/blockSize;
render();
function render(){
       for (var x = 1; x<=worldWidth; x++) {
        for (var y = 1; y<=worldHeight; y++) {
            var Block = new block();
            Block.name = "BX" + x + "Y" + y;
            Block.x = x*blockSize-blockSize/2;
            Block.y = -y*blockSize+blockSize/2;
            Block.gotoAndStop(3);
            world.addChild(Block);
        }
    }
}

不幸的是,屏幕不断闪烁。我不知道为什么。

编辑:真的很傻,我忘了停止()块MovieClip中的帧。

问题回答,问题解决了!

1 个答案:

答案 0 :(得分:0)

进入库项目的属性并设置所需的类名(例如“阻止”)以将其导出为。

然后你可以像这样制作一个新的块:

var block = new Block();
block.x = 20;
block.y = 5;
world.addChild(block);

通过addChild()添加的任何DisplayObject将始终放在顶层。

因为你是AS3的新手。您将要学习DisplayObject class任何MovieClip或Sprite(没有任何时间轴的mc)继承这些方法的方法。