我想擴展我的功能,以更好的設計,我可以傳遞畫布對象,所以我不必寫N功能..我不知道如何正確地做到這一點,我想出了一個開關天真的設計,但即使如此,如果我添加另一個畫布,我仍然需要爲新畫布編寫新代碼。重載事件處理程序可能嗎?
function fadeCanvasOut(event:TimerEvent):void
{
canvas1.alpha -= 0.1;
}
private function showForm():void
{
var myTimer:Timer = new Timer(20, 10);
myTimer.addEventListener("timer", fadeFormIn);
myTimer.start();
}
我需要的是這樣的:
function fadeCanvasOut(event:TimerEvent, aCanvas:Canvas):void
{
aCanvas.alpha -= 0.1;
}
private function showForm(aCanvas:Canvas):void
{
var myTimer:Timer = new Timer(20, 10);
myTimer.addEventListener("timer", fadeFormIn(timerEvent, canvas1);
myTimer.start();
}
,如果有人可以請賜教我將不勝感激。
Delegate類是一個ActionScript 2類,在Flex 3 SDK中不可用。 – 2010-01-20 16:58:22
@Christophe:在AS3中創建Delegate類只需幾行... – back2dos 2010-01-20 17:16:12
@ back2dos:是的。我只是回答了給出的答案,這在ActionScript 3.0的上下文中是不正確的。顯然,這是不被某些人接受的,並且是降低正確答案的原因... – 2010-01-20 17:25:21