作者Tiphareth (Duchess)
看板Flash
標題[問題] 按鈕語法與 TypeError: Error #1009
時間Thu Nov 15 02:41:31 2012
爬過文後這個問題好像常常在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
1F:→ dsmwang:為何要設一個Object來抓事件? 11/15 03:19
2F:推 etrexetrex:你把 var start01:Object 改成 var start01:Object ={} 11/15 11:25
改過後會出現這個訊息~
TypeError: Error #1006: addEventListener 不是函數。
at 1113_fla::MainTimeline/frame1()
※ 編輯: Tiphareth 來自: 61.63.224.226 (11/15 11:54)
3F:→ dsmwang:純Object沒有監聽方法吧,EventDispatcher才有, 11/15 17:39
4F:→ dsmwang:但我還是不解你為何要設Object來聽事件。 11/15 17:39
嗯....說來很見笑,我是看網路上的資料自學的...
找到的資料上有設Object
不過去掉後還是有相同的錯誤訊息出來~
5F:推 etrexetrex:那好像是as2寫法吧 11/15 19:40
6F:→ etrexetrex:對壓 所以你的按鈕名稱叫做什麼 ? 11/15 19:41
按鈕名稱:start01、start02、start03
※ 編輯: Tiphareth 來自: 125.230.3.177 (11/15 22:03)
7F:→ dsmwang:名稱是右邊的類別的命名呢?還是物件拉出來之後才命名呢? 11/16 01:10
元件是拉出來後在屬性面板上命名的喔~
8F:推 etrexetrex:那你就直接把 var start01:Object 刪掉 11/16 02:30
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)
9F:推 etrexetrex:下載了你的檔案 可以正常運作 沒遇到 bug 11/16 14:09
那真是太奇怪了||||
我這邊不管怎麼樣輸出影片還是會遇到錯誤訊息,
而且第二場景的按鈕還會無效
http://ppt.cc/GJjH
↑錯誤訊息的畫面
※ 編輯: Tiphareth 來自: 111.242.35.52 (11/19 14:51)
10F:→ Tiphareth:嘗試另外開檔案用FLASH作圖成按鈕物件,發現也會出現 11/19 14:52
11F:→ Tiphareth:相同錯誤,都是在加入三個按鈕以上後.... 11/19 14:52
12F:→ silase0201:無法存取 Null 物件參考的屬性或方法 11/20 04:05
13F:→ silase0201:切換場景的時候 時常會遇到這種情況 11/20 04:06
14F:→ silase0201:元件還沒載入完成,語法卻已經載入了,造成語法有呼叫 11/20 04:07
15F:→ silase0201:元件,卻沒有元件回應語法 11/20 04:07
16F:→ silase0201:當然,換影格的時候也會遇到這種問題 11/20 04:09
17F:→ silase0201:解決方案有很多,像是所有元件都放在同一個影格 11/20 04:10
18F:→ silase0201:以設定visible的true(顯示)flash(不顯示但存在)來控制 11/20 04:12