1. ActionScript3 中的一個未公開的方法
MovieClip.addFrameScript(frame:uint,notify:Function)
這個方法是將某一個函數添加到某個MovieClip上時間軸的某一幀. 同一幀不能添加多個,后添加的函數會覆蓋先添加的函數. 通過此函數,能夠徹底地將某些時間軸上的AS代碼寫到文檔類中,那樣程序更加符合MVC模式
需要注意的是: 此函數的第一個參數的基數是0,下面的代碼示例如果給一個原件的最后一幀添加代碼
mcBody.addFrameScript( mcBody.totalFrames - 1, this.OnLastFrame);

// 最后一幀執行
private function OnLastFrame()

{
var oClient : MainStageClient = new MainStageClient();
oClient.ShowBar(true);
mcBody.stop();
}
2. 如何捕獲AS運行時錯誤
由于我自己的程序通過Flash Player ActiveX host Flash. 而我的SWF直接在FlashCS3中編譯是無法運行的
對于AS運行時錯誤,需要下載Flash Player Debug版本,
http://www.adobe.com/support/flashplayer/downloads.html就可以捕獲了
3. 如何捕獲LocalConnection NetConnection 等對象的異常?
1 private static var s_objConn : LocalConnection = null;
2
3 s_objConn.addEventListener(AsyncErrorEvent.ASYNC_ERROR, this.AsyncErrorHandler);
4
5
6 private function AsyncErrorHandler(evt:AsyncErrorEvent):void
7 {
8 CallOutProxy.ShowMsg(evt.toString());
9 }
4.向匿名函數傳遞參數
寫法和Javascript的完全一樣
setTimeout(
(function(strUsername, strPassword, nRequestNo)

{
return function()

{
CallOutProxy.ValidateCredentialAsyn( strUsername, strPassword, nRequestNo);
};
}) (mcDlg.txtUsername.text, mcDlg.txtPassword.text, m_nRequestNo)
, 1000 * 2
);
5.程序結構