我想要在Actionscript中編碼的警報框。其實,我懷疑這樣的事情是否真的起作用(因爲我特別注意到在更高版本的Actionscript中刪除了mx.controls.Alert)。此外,沒有辦法跳過AS3.0中的代碼(除了throw語句,通常用於錯誤通知)要在Actionscript中編碼的警報框
所以,這是我寫的最基本的代碼。我想知道,如果這樣的代碼能夠很好地融入到一個更大的項目中。可以看出,像這樣傳遞函數甚至允許其他類訪問類的私有成員。所以,在我看來,這當然不是一個好方法。什麼是更好的編碼方式?
package{
public class SomeClass
{
private secret = 007
public function SomeClass()
{
var msgBox:MsgBox = new MsgBox()
msgBox.show (" Tell, yes or no ? " , onYes, onNo)
}
private function onYes():void
{
trace ("yes")
trace (secret) ;
}
private function onNo():void
{
trace ("no ")
trace (secret)
}
}
}
package
{
public class MsgBox
{
public function MsgBox():void
{
}
public function show(val_str:String, onYes:Function, onNo:Function)
{
// we assume that yes button is cliked ;
onYes() ;
}
}
}
的一部分,但我們可以說,我想在「是」按鈕點擊時觸發某個特定功能,並且在沒有按鈕點擊時觸發另一個功能。你在使用eventlisteners嗎? –
是的,事件處理程序,您可以將處理程序直接傳遞給工廠方法(參數_action:Function_)。如果動作被傳遞,那麼彈出框將它作爲偵聽器添加到所有事件(POPUP_OK,POPUP_CANCEL,POPUP_CLOSE(通過關閉按鈕)),如果不是,則可以手動添加事件處理程序,因爲每個工廠方法(_info,error等)返回_Popup_對象實例。 – fsbmain
順便說一句,我很想知道,爲什麼在你看來,純as3是一種更好的編碼方式。我的意思是,mxml方法有什麼問題?(我認爲,通過純as3你的意思是,不使用mxml) –