[英]AS3: Cant get the length of dynamically created MC, outside of its function
我想在加载动态文件夹的所有内容之后得到parent_mc的大小,我试过:
function initmyWidth():Number
{
var myWidth:Number = galleryArr.length * 400;
return myWidth;
}
它给了我正确的数字,如果它嵌套在函数onGalleryLoaded中,但在乐趣之外,它跟踪0.有一种方法可以将galleryArr.length传递到onGalleryLoaded函数之外吗?
var galleryArr:Array = [];
var parent_mc:Sprite = new Sprite();
addChild(parent_mc);
parent_mc.y = 112;
parent_mc.x = 300;
function onGalleryLoaded(e:Event):void
{
var imageX:int = 0;
var imageY:int = 0;
for each (var image:Sprite in galleryArr)
{
var my_mc:MovieClip = new MovieClip();
my_mc.addChild(image);
parent_mc.addChild(my_mc);
my_mc.width = 400;
my_mc.height = 400;
my_mc.x -= parent_mc.width;
my_mc.y = imageY;
imageX -= my_mc.width + PADDING_X;
if ( (imageX+my_mc.width) > stage.stageWidth )
{
imageX = parent_mc.width;
imageY = 0;
}
}
}
在知道gallyerArr
有多少元素之前,您不能指望获得准确的宽度。 这不是从函数外部传递值的情况,而是在异步进程尚未完成时尝试同步执行某些操作的情况(在本例中为load事件)。
一旦onGalleryLoaded
被调用, initmyWidth
将如预期运行。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.