国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費電子書等14項超值服

開通VIP
Flash MX 2004 ActionScript圖文教程(九)
Flash MX 2004 ActionScript圖文教程(九)

2.2實例
  前面簡要介紹了一下幾種常用的鼠標事件,下面我們就通過一個完整的例子來綜合運用一下這些事件。
  首先建立一個場景,向其中添加三個影片剪輯實例,名稱命名為hand_mc、message_txt、eventTrapper_btn和dragTest_mc,hand_mc用來替換鼠標、message_txt是一個動態(tài)文本,顯示反饋信息,eventTrapper_btn是按鈕實例,用來捕捉各種鼠標事件,dragTest_mc則用來演示拖動事件的處理。
  2.2.1自定義鼠標
  我們經常需要在Flash程序中使用自定義的鼠標指針,下面在這個例子中,我們將把鼠標指針換成自定義的外形。進入主場景,選擇第一幀,在腳本面板中輸入以下的代碼:
  stop ();
  Mouse.hide();
  startDrag ("hand_mc", true);
  Message_txt.text = "開始鼠標事件試驗 ";
  第一句代碼是stop(),也就是讓影片播放到這里停下來一邊等待用戶的操作,Mouse.hide()隱藏鼠標指針,緊接著startDrag則是開始對影片剪輯實例hand_mc的拖動操作,由于前面已經將鼠標指針隱藏,因此這個命令現在的作用相當于將鼠標指針替換為一個圖標。注意看,startDrag后面有兩個參數,第一個作用很明顯,就是將影片剪輯實例hand_mc作為拖動對象,而后面的ture則是將影片剪輯實例的中心和鼠標指針的中心鎖定起來,如果設置為false,那么影片剪輯的中心將會和鼠標在場景內首次單擊的點的位置鎖定起來。在這個例子中,我們使用startDrag命令的目的是模擬鼠標指針替換的效果,因此顯然應當設置這個參數為true。
  2.2.2捕捉并處理事件
  現在選中影片剪輯實例eventTrapper_btn,進入腳本面板,在這里我們可以編寫一系列的事件處理代碼。前面我們介紹了多個和鼠標相關的事件,這里就將其一個個捕獲,注意觀察他們之間的異同。
  on (rollOver) {
  message_txt.text = "鼠標浮動事件";
  }
  on (rollOut) {
   message_txt.text = "鼠標移出事件";
  }
  on (press) {
   message_txt.text = "鼠標單擊事件";
  }
  on (dragOut) {
   message_txt.text = "鼠標在當前對象上按下左鍵后拖出";
  }
  on (release) {
   message_txt.text = "鼠標釋放事件";
  }
  以上幾個是比較簡單的事件,下面我們再來處理稍微復雜一些的事件。
  選擇影片剪輯實例dragTest_mc,然后再代碼面板中輸入這樣的代碼
  on (dragOver) {
   this._alpha = this._alpha - 10;
  }
  當用戶按下鼠標左鍵并在dragTest_mc上拖動時,這個事件內部的代碼就會被執(zhí)行。this變量前面我們已經打過交道了,它的作用就是引用當前的對象(也就是dragTest_mc),_alpha是它的一個屬性,透明度,這里我們通過一個簡單的運算逐次降低其透明度,最終的效果類似于圖像被橡皮擦掉一樣。
  再選擇按鈕eventTrapper_btn,為其添加這樣的代碼:
  on (releaseOutside) {
   eventTrapper_btn._x = _root._xmouse;
   eventTrapper_btn._y = _root._ymouse;
  }
  這段代碼可以實現拖放效果,當用戶在eventTrapper_btn上按下鼠標左鍵并拖動,當鼠標在eventTrapper_btn外面釋放時,releaseOutside事件就會發(fā)生,在這個事件中我們將eventTrapper_btn的位置(通過_x和_y坐標來定義)設置為當前鼠標釋放時鼠標所處的坐標位置,按鈕就會移動了。
  上面是通過鼠標拖動的方式移動物體,下面再試試看用鍵盤來實現,選擇evnetTrapper_btn,為其追加這樣的代碼。
  on (keypress"") {
   eventTrapper_btn._x = eventTrapper_btn._x-6
  }
  on (keypress"") {
   eventTrapper_btn._x = eventTrapper_btn._x+6
  }
  on (keypress"") {
   eventTrapper_btn._y = eventTrapper_btn._y-6
  }
  on (keypress"") {
   eventTrapper_btn._y = eventTrapper_btn._y+6
  }
  這四個事件的作用是很明顯的,當用戶按向左鍵時(發(fā)生keypress””事件),將eventTrapper_btn._x的值減小6個單位,以此類推,其他的代碼含義就不難理解了。
  2.2.3影片剪輯和按鈕
  從前面的實例可以看出,影片剪輯的實例也是可以擁有自身的事件處理代碼的。但是在使用影片剪輯實例事件時必須注意以下幾個問題:
  我們可以為影片剪輯實例添加原本由按鈕捕捉的事件,比如rollOver、rollOut等等。不過要特別注意,影片剪輯實例雖然可以捕捉這樣的事件,但是在這些事件的處理中我們不能直接引用其他的對象,一般我們只對影片剪輯自身的屬性進行修改,比如前面影片剪輯實例dragTest_mc處理事件就是一個例子。我們可以在這個事件的處理中修改影片剪輯實例dragTest_mc的透明度,但是不要指望在其中簡單地加上message_txt.text=“”這樣的代碼就能修改反饋區(qū)的內容。在執(zhí)行過程中,這樣的代碼是不會有效果的,而且Flash不會報錯,這經常會讓初學者感到暈頭轉向。解決的方法有兩個,一是用按鈕代替影片剪輯,其次是對上面的代碼進行一下小修改,改成:_root.message_txt.text=””,這樣程序又能夠執(zhí)行。_root是Flash提供的一個內置對象,通過它可以準確地定位界面上的元素。
  當某個影片剪輯實例被賦予了鼠標事件之后,鼠標指針在其上方會顯示為一個小手,為了避免這種情況出現,可以讓它捕捉rollOver事件,并加入這樣的代碼。
  on (rollOver) {
  this.useHandCursor = false;
  }
  useHandCursor這個屬性就是設置當鼠標在當前對象上懸浮時是否顯示手形指針,默認值為true,也就是顯示手形指針,這里將其設置為false就不會顯示了。
  我們可以為按鈕實例指定名稱(后綴一般用_btn),不過不要有錯覺,按鈕實例和影片實例還是很多區(qū)別的。最重要的點就是,按鈕沒有自己的時間線,而影片剪輯則有自己的時間線。這是什么意思呢?簡單地說,這點區(qū)別在this的使用上面體現出來。比方說,如果我們?yōu)橐粋€影片剪輯實例添加了這樣的事件處理代碼:
  on (press) {
  this._rotation = 30;
  }
  當你在這個影片剪輯實例上單擊鼠標左鍵時,影片剪輯實例將會發(fā)生旋轉。但是如果你將這樣的代碼賦予一個按鈕實例,那么當你單擊這個按鈕時,將不會是按鈕自身旋轉而是按鈕的父對象旋轉。很多情況下,這種奇怪的現象會讓分不清按鈕實例和影片剪輯實例之間微小區(qū)別的用戶答感困惑。
  再來看一個前面舉過的一個例子
  on (releaseOutside) {
  eventTrapper_btn._x = _root._xmouse;
  eventTrapper_btn._y = _root._ymouse;
  }
  這行代碼中,你也許會覺得eventTrapper_btn._x這樣的語句太繁瑣,用this._x多方便直接呢?如果這段時間處理代碼是賦予影片剪輯實例的話,這樣做就沒有問題,但是在前面的那個例子中,這段代碼是提供給按鈕實例使用的,所以必須清楚明白地講清楚移動的對象,否則運行的效果會和我們預先的設想大相徑庭。
  如果你需要使用一個影片剪輯代替按鈕的話,可以考慮在其內部添加特殊的標簽(_up、_over、_down),然后編寫相應的代碼。另外,每個按鈕都會有一個“熱區(qū)”,也就是單擊有效的區(qū)域,通常就是按鈕的圖形覆蓋的范圍,如果你需要修改這個區(qū)域的范圍可以使用影片剪輯實例的hitArea屬性,例如
  myClipButton_mc.hitArea = _root.myHitClip_mc;
  總的來說,按鈕夠實現的功能,影片剪輯都能實現,而影片剪輯能夠實現的功能按鈕則未必能夠實現。那還要按鈕有什么用?這主要是由于,按鈕是程序界面使用極其頻繁的元素,提供專門的按鈕類型可以提高設計的效率。

本站僅提供存儲服務,所有內容均由用戶發(fā)布,如發(fā)現有害或侵權內容,請點擊舉報。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
AC代碼常識匯編
【轉載】Flash動作編程學習筆記
flash常用代碼?。ň?- flash源文件 - Flash教程與作品 - 水世界素材...
FLASH課件模板如何制作
FLASH中變量與影片剪輯的命名講解
Flash制作簡單相冊
更多類似文章 >>
生活服務
分享 收藏 導長圖 關注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點擊這里聯系客服!

聯系客服