2014-12-07 43 views
0

感謝您的答覆的ActionScript 3:事件監聽器給1009錯誤時不幀1個

*請注意,當這些按鈕和代碼都在第1幀它完美*

所有的腳本是在幀2,如是兩個按鈕。唯一不符合框架的是我從庫中調出的精靈。

理想情況在第1幀上有導航按鈕 - 每個按鈕都帶有gotoAndPlay()調用。當您單擊這些導航按鈕中的每一個時,它會將您帶到不同的頁面。

每個頁面都有一堆按鈕。每個按鈕點擊後播放一個音頻,並添加/刪除兒童到舞臺

我的問題是除了1(在本例中爲2)之外的任何幀,只要它着陸在框架上,即使使用適當的按鈕目前它表示它不會在偶聽衆中看到它們,也不會看到它們。

我希望這是有道理的。

-----原創帖子-------- 我想了解這些東西是如何工作的。我在第一幀有一個空框架。在那個框架中我有代碼:

gotAndStop(2); 

在第2幀我有兩個按鈕。我已經爲他們添加了事件監聽器。這工作正常。

TypeError: Error #1009: Cannot access a property or method of a null object reference. at TesT_2_fla::MainTimeline/frame2()

混亂的事情是,當我在第1幀一切它就像一個魅力:這個問題只要它擊中幀中的兩個,我得到這個錯誤。

在第2幀上,按鈕已經存在,如果我把它們放在第1幀中,但是在第2幀中沒有骰子。

任何人都可以解釋發生了什麼,我怎麼能夠解決這個問題?

+0

你可以把第2幀中使用的代碼? – akmozo 2014-12-07 01:38:13

回答

0

不知道爲什麼你要在第1幀寫腳本。如果第1幀沒有任何內容,用戶會自動轉到第2幀,如果你放了一個stop();在第2幀上。如果你想停止();在第1幀上,你可以添加一個按鈕gotoAndStop(2)和一個事件監聽器。將腳本放置在可能在稍後的框架中引用的框架中時,請使用單獨的腳本層,並將該層從該腳本第一次出現的(鍵)框架延伸至其所引用的(關鍵)框架上。 HTH

+0

對不起,我不認爲我解釋得很好。所有腳本都在第2幀中,就像兩個按鈕一樣。唯一不符合框架的是我從庫中調出的精靈。 – kimbap 2014-12-08 02:26:45

0

雅知道 - 經過多次搜索,我找到了一個解決方案,它確實看起來非常輕鬆。我添加以下代碼(這是我從別人的帖子複製)萬一任何其他菜鳥有類似的問題

enter code here 
     //listen for the Flash player's ENTER_FRAME event... 
     this.addEventListener(Event.ENTER_FRAME, onEnterFrame, false); 

     //and call this checker function continually until all of the buttons are accounted for 
     function onEnterFrame(e:Event):void 
     { 
      if(and_btn != null && big_btn != null) 
      { 
       and_btn.addEventListener(MouseEvent.CLICK, fAnd); 
       big_btn.addEventListener(MouseEvent.CLICK, fBig); 

      //clean up the enter frame listener so that this function no longer gets called 
      this.removeEventListener(Event.ENTER_FRAME, onEnterFrame, false); 
      } 
     } 

看來代碼正在運行這麼胖的按鈕沒有機會來填充舞臺