看板 Flash 關於我們 聯絡資訊
使用as3,目標是製作一個可換頁的動畫, 擁有一個首頁(home)和三個頁面(a,b,c),會顯示在同一區塊 動畫開始時,先載入home, 然後出現三個點入其餘頁面的按鈕元件btn1,btn2.btn3(都在該區塊內) (按鈕是最後出現,疊在頁面之上) 點選任一按鈕元件後,如同首頁一樣在該區塊播放出頁面及三個其餘頁面的按鈕 即為點選btn1,會載入a頁,然後出現btnhome,btn2,btn3的按鈕。 目前我的做法是分別將首頁及三個頁面的出現各做成MChome,MC1.MC2,MC3四個MC 分別放在四個圖層的"影格1" 但是由於讓影格播放的按鈕都在mc裡,請問該如何定義? 我寫在主時間軸上的好像都變成是重新定義,而不是真的抓到MC裡面的按鈕.. 另外請問使用SimpleButton對不對? 因為若改成Button都會出現錯誤... ------------------------------------- 下面是我寫在主時間軸actions圖層影格1內的程式碼: import flash.display.MovieClip; import flash.display.DisplayObject; import flash.display.SimpleButton; var MChome:MovieClip = home; var MC1:MovieClip = a; var MC2:MovieClip = b; var MC3:MovieClip = c; var btn1:SimpleButton = new SimpleButton(); addChild(btn1); var btn2:SimpleButton = new SimpleButton(); addChild(btn2); var btn3:SimpleButton = new SimpleButton(); addChild(btn3); var btnhome:SimpleButton = new SimpleButton(); addChild(btnhome); btn1.addEventListener(MouseEvent.CLICK, one); btn2.addEventListener(MouseEvent.CLICK, two); btn3.addEventListener(MouseEvent.CLICK, three); btnhome.addEventListener(MouseEvent.CLICK, h); function h(e:MouseEvent):void { MChome.visible = true; MC1.visible = false; MC2.visible = false; MC3.visible = false; MChome.gotoAndPlay(1); } function one(e:MouseEvent):void { MChome.visible = false; MC1.visible = true; MC2.visible = false; MC3.visible = false; MC1.gotoAndPlay(1); } function two(e:MouseEvent):void { MChome.visible = false; MC1.visible = false; MC2.visible = true; MC3.visible = false; MC2.gotoAndPlay(1); } function three(e:MouseEvent):void { MChome.visible = false; MC1.visible = false; MC2.visible = false; MC3.visible = true; MC3.gotoAndPlay(1); } stop(); -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.121.157.63
aquarianboy:錯誤訊息是什麼? 08/18 08:45
likeazure:用以上的寫法是不會出現錯誤訊息,但是按下home跑完後出 08/18 09:06
likeazure:現的任一按鈕就毫無反應 08/18 09:07
likeazure:如果把SimpleButton改成Button就會出現1046:找不到 Type 08/18 09:10
likeazure:1046: 找不到 Type,或它不是編譯時期常數:Button。 08/18 09:10
aquarianboy:附個原始檔會比較簡單猜囉 08/18 09:33
likeazure:補上原始檔 http://0rz.tw/kD9MU 08/18 12:23