0
我正在AS3中编写一个内联函数,作为Loader类的事件处理程序,我遇到的问题是在此内联函数中需要访问外部变量函数的范围。编写一个内联as3函数,并且访问函数之外的变量时遇到问题
下面的代码我运行:
for(var i:uint=0;i<numChildren;i++){;
var displayObj:DisplayObject = getChildAt(i);
var displayObjWidth = displayObj.width;
if (elementname == displayObj.name)
{
var loader:Loader = new Loader();
var urlRequest:URLRequest = new URLRequest(loadURL);
loader.load(urlRequest);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE, function(e:Event){
var mw:Number = displayObj.width;
var mh:Number = displayObj.height;
var tempImage:Bitmap = new Bitmap(e.target.content.bitmapData);
image.bitmapData = tempImage.bitmapData;
image.width = mw;
image.height = mh;
loader.width = displayObj.width;
loader.height = displayObj.height;});
loader.x = displayObj.x;
loader.y = displayObj.y;
addChild(loader);
removeChild(displayObj);
}
这个功能是从URL加载图像,然后找到一个匹配的子元素,并与已加载的新的替换现有图像。
我遇到的问题是能够访问原始显示对象的高度和宽度,我将使用通过Loader类加载的新显示对象进行替换。
如何访问函数范围之外的这些变量或将它们传递给函数?