Flash MX 2004 ActionScript圖文教程(十四)

來源:互聯網
上載者:User
教程

  2.6事件監聽
  事件有一個習氣,就是“拉幫結派”,正常情況下,某些對象是接收不到某些事件的,比方說一個動態文本就不能接受滑鼠事件。如果我們編寫這樣的代碼為一個動態文本指定事件處理代碼:

  myTextField_txt.onMouseDown = function(){

  }

  當我們在它上面單擊滑鼠時,代碼並不會執行,因為它壓根就不會接收到滑鼠事件。要想讓它正確接受滑鼠事件,必須再加上這樣的代碼:

  Mouse.addListener(myTextField);

  這個語句就是讓myTextField向Mouse對象“報道”,這個語句執行之後,myTextField就具有了“監聽”滑鼠事件的功能了。 特別需要注意一點的,一旦某個對象被註冊為Mouse的監聽器,它將會接受到滑鼠發出的所有事件,不論發生事件時滑鼠是否在對象上方,根據這個原理,我們來製作一個小的滑鼠監視器。

  首先向情境中添加兩個文本,上面一個靜態文本,下面一個動態文本,將動態文本命名為mousePosition_txt。 



  在影片的最後一幀上單擊,開啟指令碼面板,輸入這樣的代碼:


  代碼很簡單,第一句停下影片準備接收事件,接下來將mousePostion_Txt註冊為接收滑鼠事件,然後使用事件處理函數的方法捕捉onMouseMove事件並將事件發生時的滑鼠位置顯示到mousePostion_txt中,以上這個小程式的執行效果如下圖。


  除了監聽滑鼠事件之外,我們還可以監聽按鍵事件和情境事件:

  Key.addListener (historyArray);

  Stage.addListener (historyArray);

  監聽器使用過之後可以使用removeListener將其刪除,例如:

  Key.removeListener (historyArray);

  Mouse.removeListener (historyArray);

  Stage.removeListener (historyArray);

  2.7小結
  事件處理是互動特性和自動啟動並執行基礎,ActionScript所能處理的事件非常非常繁多,我們完全沒必要一個一個地去學習,因為這些事件的名稱和用途大多都是相當直觀的。比如處理滑鼠移動就是onMouseMove,處理滑鼠按鍵就是onMouseDown,等等,需要用的時候查一下手冊就可以輕鬆搞定。只不過onClipEvent事件要注意領會掌握,它的使用比較靈活。本章的結尾還介紹了使用事件處理函數為對象指定事件處理代碼的方法,應當儘可能地用這種方法處理事件,它可以讓你的程式結構更加清晰易讀。

相關文章

E-Commerce Solutions

Leverage the same tools powering the Alibaba Ecosystem

Learn more >

Apsara Conference 2019

The Rise of Data Intelligence, September 25th - 27th, Hangzhou, China

Learn more >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。