1、控制情境中使用FLASH工具繪製出來的MovieClip 需要使用addChild()把你需要控制的MovieClip的執行個體名加到螢幕管理顯示列表中,這樣你的文檔類才能控制這個用FLASH工具畫出來的MovieClip。如果flash裡有一個mc1的MovieClip,mc1裡還有一個mc2的MovieClip。那你可以不需要使用addChild(),因為你用addChild()添加了mc1後,你就可以直接控制mc1下面的子物件了。
協助文檔解釋:是將一個 DisplayObject 子執行個體添加到該 DisplayObjectContainer 執行個體中,這樣添加DisplayObject 會在列表最後一位,也就是層級會是最高一層。(要將某子項添加到特定索引位置,請使用 addChildAt() 方法。) DisplayObject :螢幕上顯示的對象 DisplayObjectContainer :螢幕上顯示的對象列表中顯示對象容器 addChild()與addChildAt():就是顯示對象裝進顯示對象列表辦法
2、以前使用的屬性不在以(_)字元開頭 協助文檔解釋:一些以前在 ActionScript 1.0 和 2.0 MovieClip、TextField 和 Button 類中使用的屬性(如 _alpha、_height、_name、_width、_x、_y 等)在 ActionScript 3.0 DisplayObject 類中有等效屬性,但它們已被重新命名,因此不再以底線 (_) 字元開頭。
3、使用MovieClip轉換成button時候使用addEventListener注意事項
// 把MovieClip轉成按鈕 MovieClip.buttonMode = true; //滑鼠事件時候不會執行到MovieClip子集,比如你的MovieClip轉成按鈕,MovieClip裡面有文字,這時候你是用addEventListener時候會監聽到event.target是執行到文字上。那你最好使用下面的代碼。 MovieClip.mouseChildren = false; 官方協助:指定此對象是否接收滑鼠訊息。 預設值為 true,這意味著在預設情況下,顯示列表上的任何 InteractiveObject 執行個體均接收滑鼠事件。 如果將 mouseEnabled 設定為 false,執行個體不接收任何滑鼠事件。 顯示列表上的該執行個體的任何子級都不會受到影響。 要更改顯示列表上對象的所有子級的 mouseEnabled 行為,請使用 flash.display.DisplayObjectContainer.mouseChildren。
樣本: MovieClip.buttonMode = true; MovieClip.mouseChildren = false; MovieClip.addEventListener(MouseEvent.CLICK,funtionName); function funtionName(event:MouseEvent) { var mc=event.target; }
4、 AS3按鈕連結網頁,-_-|||不是吧,變這麼麻煩!大家看吧!
先要載入這兩個類 import flash.net.navigateToURL; import flash.net.URLRequest; //把連結強制轉換成URLRequest方式,這樣才可以被navigateToURL串連 var request:URLRequest = new URLRequest(http://baidu.com/); navigateToURL(request,"_blank");
5、工具類
package 包名{ class 類名{ public static funcion 方法(參數…):傳回值{…} } }
6、安裝包 這裡以AsWing舉例(什麼是AsWing,請看cn.aswing.org/)
FlexBuilder3: 將壓縮包解壓後,找到裡面的aswing_a3_1.2.zip,解壓,將 AsWingA3/bin 目錄中的 AsWingA3.swc 複製到你存放AS程式碼程式庫的目錄。比如我將其放在 E:/AS3 目錄中。然後再FB3中建立一個ActionScript項目,右鍵該項目開啟項目屬性視窗,選擇ActionScript Build Path,然後切換到 Library path,點擊 Add SWC… 瀏覽到剛才複製的那個檔案,按照我剛才存放的路徑就是 E:/AS3/AsWingA3.swc,然後點擊OK即可。
Flash CS3 同樣先解壓然後找到aswing_a3_1.2.zip並解壓,由於Flash IDE不支援使用純AS打包的SWC作為編譯庫路徑,所以我們先將AsWingA3整個目錄複寫到所需位置,如 E:/AS3。然 後開啟Flash CS3,點擊功能表列中的 編輯 並開啟 首選參數視窗點擊左邊列表中的ActionScript,然後點下方的 ActionScript 3.0 設定… 開啟類路徑設定視窗,將AsWing的src目錄添加進去,按照我的檔案路徑就是將 E:\AS3\AsWingA3\src 這個路徑添加進去,然後點確定就可以了。
比如你的包com 放在d:/我的類/com 那你選擇路徑就是d:/我的類/(注意不是d:/我的類/com)
7、寫子類 super override
package 包名{ public class 子類 eetends 父類 { public static funcion 構方函數(變數){ super(變數) } override protected 父類某一方法或屬性 } }
super 用法 super([arg1, ..., argN]) super.method([arg1, ..., argN]) 參數 method:Function — 要在超類中調用的方法。
argN:* — 選擇性參數,這些參數傳遞給方法的超類版本,或者傳遞給超類的建構函式。
調用方法或建構函式的超類或父版本。在類建構函式體內使用 super() 語句時,該語句將調用建構函式的超類版本。對超類建構函式的調用必須有正確的參數數目。請注意,不管是否顯式調用超類函數,都會調用到超類建構函式。如果不是顯式調用它,則將在子類建構函式體中的第一個語句前自動插入不帶參數的調用。這意味著,如果在子類中定義了建構函式,並且超類建構函式具有一個或多個參數,則必須顯式調用具有正確參數數目的超類建構函式,否則將產生錯誤。然而,根據 ActionScript 2.0 的要求,對超類建構函式的調用無需是子類建構函式中的第一個語句。