[問題] 按鈕語法與 TypeError: Error #1009

看板Flash作者 (Duchess)時間11年前 (2012/11/15 02:41), 編輯推噓4(4014)
留言18則, 4人參與, 最新討論串1/1
爬過文後這個問題好像常常在AS3.0遇到||| 但是就是看不懂爲什麼會跑出這個錯誤代碼 TypeError: Error #1009: 無法存取 Null 物件參考的屬性或方法。 at _fla::MainTimeline/frame2() at flash.display::MovieClip/gotoAndStop() at _fla::MainTimeline/btf01 而且才剛開始做就遇到這個問題... 因為是純粹做按鈕轉換場景的練習, 所以簡單的描述檔案的內容是↓ 我設了s01、s02、s03、s04這四個場景 我分別在s01設一個按鈕,切換到s02的場景。 另外在s02設兩個按鈕分別到s03跟s04的場景。 s01場景的語法如下: stop(); var start01:Object start01.addEventListener(MouseEvent.CLICK,btf01); function btf01(Event:MouseEvent):void{ gotoAndStop(1,"s02") }; s02場景的語法如下: stop(); var start02:Object start02.addEventListener(MouseEvent.CLICK,btf02); function btf02(Event:MouseEvent):void{ gotoAndStop(1,"s03") }; var start03:Object start03.addEventListener(MouseEvent.CLICK,btf03); function btf03(Event:MouseEvent):void{ gotoAndStop(1,"s04") }; 輸出影片後,按s01上的按鈕會順利到s02, 但是會跑出錯誤代碼1009。 接著s02上的兩個按鈕不管怎麼按就沒怎麼反應了。 難道是要做移除監聽的動作嗎? -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.230.3.177

11/15 03:19, , 1F
為何要設一個Object來抓事件?
11/15 03:19, 1F

11/15 11:25, , 2F
你把 var start01:Object 改成 var start01:Object ={}
11/15 11:25, 2F
改過後會出現這個訊息~ TypeError: Error #1006: addEventListener 不是函數。 at 1113_fla::MainTimeline/frame1() ※ 編輯: Tiphareth 來自: 61.63.224.226 (11/15 11:54)

11/15 17:39, , 3F
純Object沒有監聽方法吧,EventDispatcher才有,
11/15 17:39, 3F

11/15 17:39, , 4F
但我還是不解你為何要設Object來聽事件。
11/15 17:39, 4F
嗯....說來很見笑,我是看網路上的資料自學的... 找到的資料上有設Object 不過去掉後還是有相同的錯誤訊息出來~

11/15 19:40, , 5F
那好像是as2寫法吧
11/15 19:40, 5F

11/15 19:41, , 6F
對壓 所以你的按鈕名稱叫做什麼 ?
11/15 19:41, 6F
按鈕名稱:start01、start02、start03 ※ 編輯: Tiphareth 來自: 125.230.3.177 (11/15 22:03)

11/16 01:10, , 7F
名稱是右邊的類別的命名呢?還是物件拉出來之後才命名呢?
11/16 01:10, 7F
元件是拉出來後在屬性面板上命名的喔~

11/16 02:30, , 8F
那你就直接把 var start01:Object 刪掉
11/16 02:30, 8F
http://www.mediafire.com/?1bvh6qkb0635wit 我有試著另外開新檔 重新隨便拉個圖形做按鈕, 然後按鈕一律去掉var start01:Object這類的語法 發現可以正常的執行場景的轉換~ 並且把s02場景改成都 放在s01場景的第二個影格做轉換 也可以正常執行。 但是一但把之前做好的按鈕元件替換, 就會出現1009的錯誤代碼 真是太詭異了OTZ 所以還是把檔案上傳上來了 ※ 編輯: Tiphareth 來自: 61.63.224.226 (11/16 09:35) ※ 編輯: Tiphareth 來自: 61.63.224.226 (11/16 09:39) ※ 編輯: Tiphareth 來自: 61.63.224.226 (11/16 09:41) ※ 編輯: Tiphareth 來自: 61.63.224.226 (11/16 09:42)

11/16 14:09, , 9F
下載了你的檔案 可以正常運作 沒遇到 bug
11/16 14:09, 9F
那真是太奇怪了|||| 我這邊不管怎麼樣輸出影片還是會遇到錯誤訊息, 而且第二場景的按鈕還會無效 http://ppt.cc/GJjH ↑錯誤訊息的畫面 ※ 編輯: Tiphareth 來自: 111.242.35.52 (11/19 14:51)

11/19 14:52, , 10F
嘗試另外開檔案用FLASH作圖成按鈕物件,發現也會出現
11/19 14:52, 10F

11/19 14:52, , 11F
相同錯誤,都是在加入三個按鈕以上後....
11/19 14:52, 11F

11/20 04:05, , 12F
無法存取 Null 物件參考的屬性或方法
11/20 04:05, 12F

11/20 04:06, , 13F
切換場景的時候 時常會遇到這種情況
11/20 04:06, 13F

11/20 04:07, , 14F
元件還沒載入完成,語法卻已經載入了,造成語法有呼叫
11/20 04:07, 14F

11/20 04:07, , 15F
元件,卻沒有元件回應語法
11/20 04:07, 15F

11/20 04:09, , 16F
當然,換影格的時候也會遇到這種問題
11/20 04:09, 16F

11/20 04:10, , 17F
解決方案有很多,像是所有元件都放在同一個影格
11/20 04:10, 17F

11/20 04:12, , 18F
以設定visible的true(顯示)flash(不顯示但存在)來控制
11/20 04:12, 18F
文章代碼(AID): #1Ge-NTaf (Flash)