国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 辦公 > Flash > 正文

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

2020-07-17 13:14:13
字體:
供稿:網(wǎng)友

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

  源文件下載

   本節(jié)應(yīng)掌握的知識(shí)要點(diǎn):

  ① onClipEvent()應(yīng)用;②_xmouse 屬性;③int函數(shù)應(yīng)用。

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

  語法格式是:

  onClipEvent(movieEvent){

  要執(zhí)行的語句

  }

  小括號(hào)中的參數(shù)movieEvent 是一個(gè)稱作事件的觸發(fā)器。當(dāng)事件發(fā)生時(shí),執(zhí)行后面大括號(hào)中的語句。

  這一節(jié)要學(xué)習(xí)的是兩個(gè)最常用的事件:

  load事件,是當(dāng)影片剪輯實(shí)例出現(xiàn)在時(shí)間軸中時(shí),即執(zhí)行大括號(hào)中的語句塊,語句快只執(zhí)行一次。

  enterFrame事件,是以與影片剪輯幀頻相同的速率不斷重復(fù)觸發(fā)的動(dòng)作。

  請(qǐng)看示例動(dòng)畫“實(shí)例1-10”。

  >>>>>點(diǎn)擊查看動(dòng)畫效果<<<<<

  實(shí)例1-10 onClipExent()應(yīng)用

  動(dòng)畫開始播放時(shí),畫面上一只小松鼠在場(chǎng)景上原地跳躍,點(diǎn)擊右下角按鈕即會(huì)增加一只小松鼠的倒影,場(chǎng)景右下角出現(xiàn)了兩行動(dòng)態(tài)文本,顯示的是場(chǎng)景上鼠標(biāo)的橫坐標(biāo)位置。這時(shí)移動(dòng)鼠標(biāo)小松鼠會(huì)隨著鼠標(biāo)移動(dòng),同時(shí)下面一行文本的坐標(biāo)數(shù)值會(huì)隨著鼠標(biāo)的移動(dòng)不斷的更新,而上面的一行文本卻始終顯示一個(gè)固定的數(shù)值。

  分析一下源文件,場(chǎng)景上5個(gè)圖層共兩幀,【松鼠mc】圖層上有一個(gè)實(shí)例名為shu_mc的影片剪輯實(shí)例,【動(dòng)態(tài)文本】圖層上有上下兩個(gè)動(dòng)態(tài)文本框,變量名分別為t1_txt、t2_txt,【空白mc】圖層第1幀是一個(gè)空白關(guān)鍵幀,第2幀上有一個(gè)空白影片剪輯實(shí)例(注意,因?yàn)闆]有實(shí)際內(nèi)容,這個(gè)影片剪輯在場(chǎng)景上只能看見一個(gè)白色小圓圈),【按鈕】圖層第1幀和第2幀上各有一個(gè)按鈕。

  下面我們來看看源文件中的語句,通過前面的學(xué)習(xí),大家對(duì)以下語句應(yīng)該非常熟悉,不用注釋也能看明白了。

  第1幀上:stop();

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

  play();

  }

  空白影片剪輯上:

  onClipEvent (load) { //當(dāng)當(dāng)前影片剪輯一旦出現(xiàn)在時(shí)間軸上,即激發(fā)以下動(dòng)作

  _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 鼠標(biāo)的x坐標(biāo)位置。int 取整函數(shù),將十進(jìn)制的數(shù)字轉(zhuǎn)換為最相近的整數(shù)值。

  }

  onClipEvent (enterFrame) { //只要當(dāng)前影片剪輯存在在時(shí)間軸上,就不斷重復(fù)執(zhí)行以下動(dòng)作

  _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();

  }

  我們來分析一下語句的執(zhí)行流程:

  動(dòng)畫開始播放即停止在第1幀,點(diǎn)擊按鈕開始播放,當(dāng)進(jìn)入第2幀時(shí),添加有onClipEvent語句的影片剪輯出現(xiàn)在時(shí)間軸上,這時(shí),動(dòng)畫的播放由這個(gè)影片剪輯上的語句進(jìn)行控制。

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

  由于load事件里的語句只執(zhí)行一次,所以場(chǎng)景上的t1_txt動(dòng)態(tài)文本框里顯示的鼠標(biāo)橫坐標(biāo)值始終是一個(gè)固定的數(shù)值。

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

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

  由于enterFrame事件里面的語句塊是不斷重復(fù)執(zhí)行的,由此就實(shí)現(xiàn)了不斷的計(jì)算當(dāng)前鼠標(biāo)的橫坐標(biāo)位置,并將它減去50像素后的新值不斷賦予shu_mc影片剪輯,再將這個(gè)值不斷的賦予shu_mc1影片剪輯,同時(shí),動(dòng)態(tài)文本框t2_txt中也在不斷的更新鼠標(biāo)位置的坐標(biāo)值。

  實(shí)現(xiàn)的動(dòng)畫實(shí)際效果就是,場(chǎng)景上的小松鼠和倒影不斷的跟著鼠標(biāo)移動(dòng)下面的動(dòng)態(tài)文本框中不斷的更新顯示鼠標(biāo)的橫坐標(biāo)位置。而上面的動(dòng)態(tài)文本框中始終是一個(gè)固定的數(shù)值。

  當(dāng)我們點(diǎn)擊場(chǎng)景上的按鈕時(shí),新復(fù)制出的shu_mc1影片剪輯被刪除,并由play動(dòng)作指令影片繼續(xù)播放,由于場(chǎng)景上只有兩幀,所以播放頭直接返回時(shí)間軸第1幀,到了第1幀,又由幀動(dòng)作腳本stop指令其在第1幀停止播放,這時(shí)候我們看到的動(dòng)畫效果是,場(chǎng)景上的小松鼠倒影消失了,動(dòng)態(tài)文本框停止了更新鼠標(biāo)的橫坐標(biāo)值,小松鼠也不跟隨著鼠標(biāo)移動(dòng)了。這是因?yàn)榧虞d有onClipEvent函數(shù)的空白影片剪輯已經(jīng)從時(shí)間軸上消失了。

  當(dāng)再次點(diǎn)擊場(chǎng)景上的按鈕時(shí),播放頭進(jìn)入第2幀,空白影片剪輯出現(xiàn)在場(chǎng)景上,于是又開始執(zhí)行onClipEvent函數(shù)中的動(dòng)作。

  課后練習(xí):素材源文件下載

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

  1. 在【文本】圖層創(chuàng)建3個(gè)動(dòng)態(tài)文本框。

  2. 點(diǎn)擊場(chǎng)景第1幀上的按鈕,進(jìn)入第2幀

  3. 在第2幀創(chuàng)建一個(gè)空白影片剪輯,在空白影片剪輯上添加onClipEvent函數(shù),實(shí)現(xiàn)的效果是:

  ①使場(chǎng)景上的小松鼠翻轉(zhuǎn)身面朝左面;

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

  ③鼠標(biāo)指針、小松鼠、新復(fù)制出的小松鼠之間橫坐標(biāo)均相距10個(gè)像素;兩只小松鼠跟隨鼠標(biāo)移動(dòng);

  ④3個(gè)動(dòng)態(tài)文本框中分別顯示鼠標(biāo)、小松鼠、新復(fù)制的小松鼠的橫坐標(biāo)位置,并不斷動(dòng)態(tài)更新。

  4. 點(diǎn)擊按鈕時(shí)刪除復(fù)制出的小松鼠,原來的小松鼠返回到場(chǎng)景中的水平中點(diǎn)位置,并回轉(zhuǎn)身面朝右方,播放頭返回第1幀,動(dòng)態(tài)文本也停止更新。

  >>>>>點(diǎn)擊查看動(dòng)畫效果<<<<<

  課后練習(xí)1-10效果。

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

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 兴和县| 汉中市| 将乐县| 衡山县| 门头沟区| 蒙山县| 丰台区| 张家港市| 铁岭市| 连城县| 桑日县| 牟定县| 溆浦县| 盐津县| 九寨沟县| 青海省| 呼伦贝尔市| 富源县| 墨脱县| 吴桥县| 介休市| 南皮县| 峡江县| 横山县| 昌都县| 仁怀市| 揭西县| 黄山市| 瓦房店市| 平原县| 崇仁县| 修文县| 武平县| 邹城市| 柘城县| 昆明市| 宁明县| 佛冈县| 徐州市| 宣汉县| 荆州市|