Re: [問題] Error #1009 如何解決

看板Flash作者 (姊超猛)時間10年前 (2014/07/13 10:26), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
※ 引述《sarah946422 (雨霏)》之銘言: : 錯誤資訊: : TypeError: Error #1009: 無法存取 Null 物件參考的屬性或方法。 : at shopping_fla::MainTimeline/frame1() : 問題簡述: : 製作的是一個簡單的前進後退+超連結的swf, : 匯出時發現除了第一個影格的連結有生效外其他都錯誤, : 上網爬文後發現應該是因為監聽活動跑得比物件快導致的, : 或是元件沒有實體化 : (應該不是這個原因,我已經確認過所有按鈕的屬性了) : 但是新手入門真的不知道指令要怎麼寫才能排除… : 懇請各位前輩指教,願意奉上微薄家產1000P致謝! : 指令原始碼: : stop(); : bt_next.addEventListener("click",mc_next); : bt_pre.addEventListener("click",mc_pre); : function mc_next(me:MouseEvent){ : if(currentFrame==5){ : gotoAndStop(1); : } : else{ : nextFrame(); : } : } : function mc_pre(me:MouseEvent){ : if(currentFrame==1){ : gotoAndStop(5); : } : else{ : prevFrame(); : } : } : bt1.addEventListener(MouseEvent.CLICK,onMouseClick1); : function onMouseClick1(e:MouseEvent):void{ : var request:URLRequest=new URLRequest("http://ccsc.nccu.edu.tw/ccc/"); : navigateToURL(request,"_blank"); : } : bt2.addEventListener(MouseEvent.CLICK,onMouseClick2); : function onMouseClick2(e:MouseEvent):void{ : var request:URLRequest=new : URLRequest("http://24h.pchome.com.tw/prod/DRAC03-A70634378"); : navigateToURL(request,"_blank"); : } : bt3.addEventListener(MouseEvent.CLICK,onMouseClick3); : function onMouseClick3(e:MouseEvent):void{ : var request:URLRequest=new : URLRequest("https://tw.mall.yahoo.com/item/p017156003587?_co=psDmain0711"); : bt4.addEventListener(MouseEvent.CLICK,onMouseClick4); : function onMouseClick4(e:MouseEvent):void{ : var request:URLRequest=new : URLRequest("https://www.buy123.com.tw/site/deal/TKP5HY8/%E9%85%B7%E5%A4%8F%E6%B6%BC%E7%88%BD%E5%BF%85%E5%82%99%E5%86%B7%E5%87%9D%E5%A2%8A"); : navigateToURL(request,"_blank"); : } : bt5.addEventListener(MouseEvent.CLICK,onMouseClick5); : function onMouseClick5(e:MouseEvent):void{ : var request:URLRequest=new : URLRequest("http://www.momoshop.com.tw/goods/GoodsDetail.jsp?i_code=2645029"); : navigateToURL(request,"_blank"); : } 其實還是可以將程式全寫在第一個影格上, 只是要注意的是 要在gotoAndStop後面加上指令(要記得程式執行是有順序性) ex: gotoAndStop(2); //a_mc不在該影格的話 可以給 != null做判斷 if(a_mc != null) { a_mc.addEventListener(MouseEvent.CLICK,testA); } 你這個例子寫在第一個影格就是這樣 stop(); bt_next.addEventListener("click",mc_next); bt_pre.addEventListener("click",mc_pre); this["bt" + this.currentFrame].addEventListener(MouseEvent.CLICK, onMouseClick); function mc_next(me:MouseEvent) { if(currentFrame == 5) { gotoAndStop(1); } else { nextFrame(); } this["bt" + this.currentFrame].addEventListener(MouseEvent.CLICK,onMouseClick); } function mc_pre(me:MouseEvent) { if(currentFrame==1) { gotoAndStop(5); } else { prevFrame(); } this["bt" + this.currentFrame].addEventListener(MouseEvent.CLICK,onMouseClick); } function onMouseClick(e:MouseEvent):void { var request:URLRequest; switch(this.currentFrame) { case 1: request = new URLRequest("http://ccsc.nccu.edu.tw/"); navigateToURL(request,"_blank"); break; case 2: request = new URLRequest("http://yahoo.com.tw"); navigateToURL(request,"_blank"); break; } } -- A journey of a thousand miles begins with a single step. -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.165.62.251 ※ 文章網址: http://www.ptt.cc/bbs/Flash/M.1405218367.A.85C.html
文章代碼(AID): #1JmUu_XS (Flash)
討論串 (同標題文章)
文章代碼(AID): #1JmUu_XS (Flash)