所有與《碼上就會:Flash CS3動畫設計寶典》書籍相關的勘誤表將統一放在這一頁。
超連結按鈕程式補充
有讀者來信指出,書本第十章的「Flash超連結」範例影片(10-10頁),只有撰寫最上方的a_btn按鈕程式。底下是加上處理其餘兩個按鈕的事件偵聽程式的結果。這三個按鈕共用同一個doClick自訂函數,而此自訂函數透過switch…case條件判斷邏輯(語法說明請參閱12-3頁),對個別按鈕執行不同的處理程式。請用底下的程式取代原本的程式碼,此外,舞台上的"B"和"C"按鈕,也要分別設定"b_btn"以及"c_btn"的實體名稱:
var url:String; // 儲存網址的變數 var request:URLRequest; // 建立連結物件 // 設定三個按鈕實體的事件偵聽程式 a_btn.addEventListener(MouseEvent.CLICK, doClick); b_btn.addEventListener(MouseEvent.CLICK, doClick); c_btn.addEventListener(MouseEvent.CLICK, doClick); // 自訂函數doClick function doClick(e:MouseEvent):void { /* "SimpleButton(e.currentTarget)"代表將資料類型轉 換成SimpleButton,也就是一般的按鈕。 這一行敘述也可以寫成: var btn:SimpleButton = e.currentTarget as SimpleButton; 相關說明請參閱14-21頁。 */ var btn:SimpleButton = SimpleButton(e.currentTarget); switch (btn.name) { case "a_btn": gotoAndStop("A"); // 設定超連結網址 url = "http://www.google.com/"; request = new URLRequest(url); // 瀏覽到該網址 navigateToURL(request, "main"); break; case "b_btn": gotoAndStop("B"); break; case "c_btn": gotoAndStop("C"); break; } } stop();
請教您~
不強制轉換按鈕的類型直接使用 switch (e.currentTarget.name) ,與轉換強制轉換類型有什麼差別,不轉換好像也不會有問題耶。