我不知道爲什麼下面的代碼不起作用。動作腳本 - 傳遞靜止類型強制失敗?
我只是傳遞,然後修復Shape對象作爲一個休息參數。當對象到達最終函數時,它們追蹤爲[對象形狀],但在下一行我收到類型強制失敗,說明它無法轉換爲形狀。
輸出:
[object Shape],[object Shape]
TypeError: Error #1034: Type Coercion failed: cannot convert []@27b68921 to flash.display.Shape.
at Test/receiver()
at Test/passer()
at Test()
代碼:
package
{
import flash.display.Sprite;
import flash.display.Shape;
public class Test extends Sprite
{
public function Test()
{
//Create Shapes
var myFirstShape:Shape = new Shape();
myFirstShape.graphics.beginFill(0);
myFirstShape.graphics.drawRoundRect(0, 0, 100, 100, 50);
var mySecondShape:Shape = new Shape();
mySecondShape.graphics.beginFill(0);
mySecondShape.graphics.drawRoundRect(0, 0, 100, 100, 50);
//Pass Shapes
passer(myFirstShape, mySecondShape);
}
private function passer(...items):void
{
//Pass Shapes Again
receiver(items);
}
private function receiver(...items):void
{
//Rest Trace As [object Shape], [object Shape]
trace(items);
//Type Coercion Failed ??!!
for each (var element:Shape in items)
{
trace(element);
}
}
}
}
這是輝煌的。非常感謝! – TheDarkIn1978 2010-11-09 04:45:17