開(kāi)發(fā)中遇見(jiàn)的 一些AS3的經(jīng)驗(yàn) 和 技巧
1. ActionScript3 中的一個(gè)未公開(kāi)的方法
MovieClip.addFrameScript(frame:uint,notify:Function)
這個(gè)方法是將某一個(gè)函數(shù)添加到某個(gè)MovieClip上時(shí)間軸的某一幀. 同一幀不能添加多個(gè),后添加的函數(shù)會(huì)覆蓋先添加的函數(shù). 通過(guò)此函數(shù),能夠徹底地將某些時(shí)間軸上的AS代碼寫到文檔類中,那樣程序更加符合MVC模式
需要注意的是: 此函數(shù)的第一個(gè)參數(shù)的基數(shù)是0,下面的代碼示例如果給一個(gè)原件的最后一幀添加代碼
mcBody.addFrameScript( mcBody.totalFrames - 1, this.OnLastFrame);

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

{
var oClient : MainStageClient = new MainStageClient();
oClient.ShowBar(true);
mcBody.stop();
}
2. 如何捕獲AS運(yùn)行時(shí)錯(cuò)誤
由于我自己的程序通過(guò)Flash Player ActiveX host Flash. 而我的SWF直接在FlashCS3中編譯是無(wú)法運(yùn)行的
對(duì)于AS運(yùn)行時(shí)錯(cuò)誤,需要下載Flash Player Debug版本, http://www.adobe.com/support/flashplayer/downloads.html
就可以捕獲了
3. 如何捕獲LocalConnection NetConnection 等對(duì)象的異常?
4.向匿名函數(shù)傳遞參數(shù)
寫法和Javascript的完全一樣
setTimeout(
(function(strUsername, strPassword, nRequestNo)

{
return function()

{
CallOutProxy.ValidateCredentialAsyn( strUsername, strPassword, nRequestNo);
};
}) (mcDlg.txtUsername.text, mcDlg.txtPassword.text, m_nRequestNo)
, 1000 * 2
);
5.程序結(jié)構(gòu)
MovieClip.addFrameScript(frame:uint,notify:Function)
這個(gè)方法是將某一個(gè)函數(shù)添加到某個(gè)MovieClip上時(shí)間軸的某一幀. 同一幀不能添加多個(gè),后添加的函數(shù)會(huì)覆蓋先添加的函數(shù). 通過(guò)此函數(shù),能夠徹底地將某些時(shí)間軸上的AS代碼寫到文檔類中,那樣程序更加符合MVC模式
需要注意的是: 此函數(shù)的第一個(gè)參數(shù)的基數(shù)是0,下面的代碼示例如果給一個(gè)原件的最后一幀添加代碼












2. 如何捕獲AS運(yùn)行時(shí)錯(cuò)誤
由于我自己的程序通過(guò)Flash Player ActiveX host Flash. 而我的SWF直接在FlashCS3中編譯是無(wú)法運(yùn)行的
對(duì)于AS運(yùn)行時(shí)錯(cuò)誤,需要下載Flash Player Debug版本, http://www.adobe.com/support/flashplayer/downloads.html
就可以捕獲了
3. 如何捕獲LocalConnection NetConnection 等對(duì)象的異常?
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 }
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.向匿名函數(shù)傳遞參數(shù)
寫法和Javascript的完全一樣














5.程序結(jié)構(gòu)
posted on 2008-04-08 17:16 Jerry.Wang 閱讀(481) 評(píng)論(0) 編輯 收藏 引用 所屬分類: 開(kāi)發(fā)