我需要使用串聯接取這個函數內部的變量,下面這個例子:如何調用使用級聯功能(AS3)的可變
public function movePlates():void
{
var plate1:Plate;
var plate2:Plate;
var cont:uint = 0;
for (var i:uint = 0; i < LAYER_PLATES.numChildren; i++)
{
var tempPlate:Plate = LAYER_PLATES.getChildAt(i) as Plate;
if (tempPlate.selected)
{
cont ++;
this["plate" + cont] = LAYER_PLATES.getChildAt(i) as Plate;
}
}
}
編輯:
public function testFunction():void
{
var test1:Sprite = new Sprite();
var test2:Sprite = new Sprite();
var tempNumber:Number;
this.addChild(test1);
test1.x = 100;
this.addChild(test2);
test2.x = 200;
for (var i:uint = 1; i <= 2; i++)
{
tempNumber += this["test" + i].x;
}
trace("tempNumber: " + tempNumber);
}
如果我像這樣運行代碼,this [「test」+ i]返回一個類的變量。我需要局部變量,函數的變量。
那麼,怎麼了? 'var obj1:Object = new Object(); var obj2:Object = new Object(); trace(obj1 == obj2); this [「obj」+ 1] = obj2; trace(obj1 == obj2);' 它可以工作(輸出中'false true') – Smolniy
這一行: 這個[「plate」+ cont] = LAYER_PLATES.getChildAt(i)as Plate; 嘗試訪問一個對象,並返回一個找不到的錯誤。 – bsberti
由於運氣環境,我無法測試您的代碼。跟蹤'cont',跟蹤這個[「plate」+ cont]',跟蹤'LAYER_PLATES.getChildAt(i)作爲Plate'並檢查日誌。 – Smolniy