a亚洲精品_精品国产91乱码一区二区三区_亚洲精品在线免费观看视频_欧美日韩亚洲国产综合_久久久久久久久久久成人_在线区

首頁 > 辦公 > Flash > 正文

Flash AS 入門 onClipEvent()事件處理函數

2020-07-17 13:14:13
字體:
來源:轉載
供稿:網友

  這篇教程為“Flash AS 入門教程”的一部分。查看全套教程>>>>。

  源文件下載

   本節應掌握的知識要點:

  ① onClipEvent()應用;②_xmouse 屬性;③int函數應用。

  onClipExent()是一個事件處理函數,也是在Flash動作腳本中使用頻率非常高的一個語句,其功能是觸發為特定影片剪輯實例定義的動作。這個事件處理函數只能添加在影片剪輯實例上,不同于on()事件處理函數可以分別添加在影片剪輯和按鈕上。

  語法格式是:

  onClipEvent(movieEvent){

  要執行的語句

  }

  小括號中的參數movieEvent 是一個稱作事件的觸發器。當事件發生時,執行后面大括號中的語句。

  這一節要學習的是兩個最常用的事件:

  load事件,是當影片剪輯實例出現在時間軸中時,即執行大括號中的語句塊,語句快只執行一次。

  enterFrame事件,是以與影片剪輯幀頻相同的速率不斷重復觸發的動作。

  請看示例動畫“實例1-10”。

  >>>>>點擊查看動畫效果<<<<<

  實例1-10 onClipExent()應用

  動畫開始播放時,畫面上一只小松鼠在場景上原地跳躍,點擊右下角按鈕即會增加一只小松鼠的倒影,場景右下角出現了兩行動態文本,顯示的是場景上鼠標的橫坐標位置。這時移動鼠標小松鼠會隨著鼠標移動,同時下面一行文本的坐標數值會隨著鼠標的移動不斷的更新,而上面的一行文本卻始終顯示一個固定的數值。

  分析一下源文件,場景上5個圖層共兩幀,【松鼠mc】圖層上有一個實例名為shu_mc的影片剪輯實例,【動態文本】圖層上有上下兩個動態文本框,變量名分別為t1_txt、t2_txt,【空白mc】圖層第1幀是一個空白關鍵幀,第2幀上有一個空白影片剪輯實例(注意,因為沒有實際內容,這個影片剪輯在場景上只能看見一個白色小圓圈),【按鈕】圖層第1幀和第2幀上各有一個按鈕。

  下面我們來看看源文件中的語句,通過前面的學習,大家對以下語句應該非常熟悉,不用注釋也能看明白了。

  第1幀上:stop();

  第1幀的按鈕上:on (press) {

  play();

  }

  空白影片剪輯上:

  onClipEvent (load) { //當當前影片剪輯一旦出現在時間軸上,即激發以下動作

  _root.stop();

  _root.shu_mc.duplicateMovieClip("shu_mc1", 1);

  _root.shu_mc1._yscale = -100;

  _root.shu_mc1._alpha = 50;

  _root.t1_txt = "_xmouse= "+int(_root._xmouse);

  //_xmouse 鼠標的x坐標位置。int 取整函數,將十進制的數字轉換為最相近的整數值。

  }

  onClipEvent (enterFrame) { //只要當前影片剪輯存在在時間軸上,就不斷重復執行以下動作

  _root.shu_mc._x = _root._xmouse-50;

  _root.shu_mc1._x = _root.shu_mc._x;

  _root.t2_txt = "_xmouse= "+int(_root._xmouse);

  }

  第2幀的按鈕上:on (press) {

  removeMovieClip(shu_mc1);

  play();

  }

  我們來分析一下語句的執行流程:

  動畫開始播放即停止在第1幀,點擊按鈕開始播放,當進入第2幀時,添加有onClipEvent語句的影片剪輯出現在時間軸上,這時,動畫的播放由這個影片剪輯上的語句進行控制。

  首先執行onClipEvent(load)大括號中的語句塊,load事件是當影片剪輯一旦出現在時間線上時觸發的動作,_root.stop();令播放頭停止在場景第2幀,接下來復制出一個shu_mc影片剪輯,命名為“shu_mc1”,設置層深度為1,再由下面的兩行語句為新復制出的影片剪輯設置屬性,將縱向縮放比例設置為-100(單位為百分比),使其倒置在場景上,將透明度屬性設置為50%,由最后一條語句,在場景上的t1_txt動態文本框中顯示字符串"_xmouse= "并上鼠標當前的橫坐標值,這個值由int函數轉換為整數。到此,load事件里的語句塊就執行完了。

  由于load事件里的語句只執行一次,所以場景上的t1_txt動態文本框里顯示的鼠標橫坐標值始終是一個固定的數值。

  接下來,開始執行enterFrame事件里面的語句塊,由第1行語句定義,將場景上鼠標的橫坐標位置減去50像素的這個值,賦予場景上shu_mc影片剪輯的橫坐標,即shu_mc的橫坐標位置與當前鼠標位置相距50像素,動畫的實際效果是小松鼠位于鼠標箭頭的左側,再由第2行語句將shu_mc的橫坐標值賦予新復制出的影片剪輯shu_mc1的橫坐標。最后一條語句和上面load事件的最后一條相同,是在場景上的t2_txt文本框中以整數顯示鼠標當前的橫坐標位置。

  到此enterFrame事件里面的語句塊就執行完了一次,但是,語句的執行并沒有到此為止,只要當前影片剪輯(即這個空白影片剪輯)存在在時間軸上,這個語句快中的動作就會不斷的重復執行,其執行的速率與當前影片的幀頻相同。

  由于enterFrame事件里面的語句塊是不斷重復執行的,由此就實現了不斷的計算當前鼠標的橫坐標位置,并將它減去50像素后的新值不斷賦予shu_mc影片剪輯,再將這個值不斷的賦予shu_mc1影片剪輯,同時,動態文本框t2_txt中也在不斷的更新鼠標位置的坐標值。

  實現的動畫實際效果就是,場景上的小松鼠和倒影不斷的跟著鼠標移動下面的動態文本框中不斷的更新顯示鼠標的橫坐標位置。而上面的動態文本框中始終是一個固定的數值。

  當我們點擊場景上的按鈕時,新復制出的shu_mc1影片剪輯被刪除,并由play動作指令影片繼續播放,由于場景上只有兩幀,所以播放頭直接返回時間軸第1幀,到了第1幀,又由幀動作腳本stop指令其在第1幀停止播放,這時候我們看到的動畫效果是,場景上的小松鼠倒影消失了,動態文本框停止了更新鼠標的橫坐標值,小松鼠也不跟隨著鼠標移動了。這是因為加載有onClipEvent函數的空白影片剪輯已經從時間軸上消失了。

  當再次點擊場景上的按鈕時,播放頭進入第2幀,空白影片剪輯出現在場景上,于是又開始執行onClipEvent函數中的動作。

  課后練習:素材源文件下載

  在素材源文件中按如下要求完成練習:

  1. 在【文本】圖層創建3個動態文本框。

  2. 點擊場景第1幀上的按鈕,進入第2幀

  3. 在第2幀創建一個空白影片剪輯,在空白影片剪輯上添加onClipEvent函數,實現的效果是:

  ①使場景上的小松鼠翻轉身面朝左面;

  ②復制出一只新的小松鼠跟在其身后;

  ③鼠標指針、小松鼠、新復制出的小松鼠之間橫坐標均相距10個像素;兩只小松鼠跟隨鼠標移動;

  ④3個動態文本框中分別顯示鼠標、小松鼠、新復制的小松鼠的橫坐標位置,并不斷動態更新。

  4. 點擊按鈕時刪除復制出的小松鼠,原來的小松鼠返回到場景中的水平中點位置,并回轉身面朝右方,播放頭返回第1幀,動態文本也停止更新。

  >>>>>點擊查看動畫效果<<<<<

  課后練習1-10效果。

  這篇教程為“Flash AS 入門教程”的一部分。查看全套教程>>>>。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 在线观看污片 | 欧洲妇女成人淫片aaa视频 | 97av在线视频| 91在线综合| 国产亲子乱弄免费视频 | 欧美一区久久 | 日韩电影免费在线观看中文字幕 | 日韩av免费在线观看 | 成人久久 | 中文字幕第九页 | 91国自产区一二三区 | 久久99精品久久久久久久青青日本 | 夜夜夜久久久 | 免费二区 | 成人不卡| 男人的天堂视频 | 青青操av | 中文字幕在线精品 | 日本免费一二区 | 黄色片com | 一区二区手机在线 | 草久在线视频 | 在线不卡亚洲 | 黄色影片网址 | 久久艹精品视频 | 国产精品亚洲欧美日韩一区在线 | 成人午夜在线视频 | 欧美日韩在线观看一区二区三区 | 国产九九精品视频 | 久草在线视频网站 | 美女日批视频在线观看 | 欧美午夜网 | 吴梦梦到粉丝家实战华中在线观看 | 欧美 日韩 在线播放 | h视频在线免费观看 | 日韩成人激情 | 中文字幕欧美日韩一区 | 成人一区电影 | 色小妹一二三区 | 欧美精品久久 | 日韩精品免费 |