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類加載的新顯示對象進行替換。
如何訪問函數範圍之外的這些變量或將它們傳遞給函數?