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

首頁 > 辦公 > Flash > 正文

Flash AS 入門教程 事件處理函數及畫線語句

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

  我們學過在按扭或者影片剪輯上添加事件,這些事件也可以很方便地寫在幀上,使用起來比較方便,有時也能起到簡化腳本的作用。這些寫在幀上的事件在軟件中是位置是“內置類影片MovieClip事件”。

  源文件下載

  一、 flash 2004提供了18個事件,我們在這里主要介紹Button.onRelease和MovieClip.onEnterFrame這兩個件的用法。

  1、Button.onRelease的用法:


復制代碼
代碼如下:

   my_btn.onRelease = function() {
  // 此處是您的語句
  }

   這里my_btn是按扭的實例名。當按下并松開按鈕時調用。注意,這里的事件都是以函數形式表示的,因此,我們可以叫做事件處理函數

  2、MovieClip.onEnterFrame的用法:


復制代碼
代碼如下:

   my_mc.onEnterFrame = function() {
   // 此處是您的語句
   }

  這里my_mc是影片剪輯的實例名。這個事件處理函數以 SWF 文件的幀頻持續(xù)調用,這個函數的作用和在mc上寫的事件onClipEvent (enterFrame)類同,但是,使用起來更方便更有效。

  從用法中可以知道,必須定義一個在調用事件處理時執(zhí)行的函數。我們看一個實際例子。

  例 3.2.1

  前一節(jié)的例2中我們在“控制”按鈕、“小松鼠”影片剪輯或者“小球”影片剪輯上按下鼠標時,調用自定義函數,使小松鼠和小球分別按照相反的方向運動。現在我們把這三個事件改為寫在幀上的事件函數:


復制代碼
代碼如下:

   function yd() {
   gotoAndPlay(1);
   qiu_mc.gotoAndPlay(31);
   }
   shu_mc.onPress = function() {
   yd();
   };
   qiu_mc.onPress = function() {
   yd();
   };
   my_btn.onPress = function() {
   yd();
   };

  這里另加了一個lqiu_mc,在幀上調用MovieClip.onEnterFrame,使這個小球在場景來會運動。


復制代碼
代碼如下:

  lqiu_mc.onEnterFrame = function() {//調用MovieClip.onEnterFrame事件函數,
  this._x += 10; //lqiu_mc的橫坐標每次增加10;
  web=this._x //在文本web中顯示lqiu_mc的橫坐標;
  if (this._x>430) { //當lqiu_mc的橫坐標大于430時;
  this._x = 20; //讓lqiu_mc的橫坐標為20;
  }
};

  點擊查看動畫效果<

  這里我們可以看到,寫在幀上的MovieClip.onEnterFrame和寫在mc上的onClipEvent (enterFrame)可以起到完全相同的作用。并且,我們還可以在調用MovieClip.onEnterFrame事件函數時可以隨時刪去這個事件,以減少內存的占用。例如在上面的事件函數時,我們可以改


復制代碼
代碼如下:

   if (this._x>430) {
   this._x = 20;
   }為:
  if (this._x>430) {
  delete this.onEnterFrame
  }

那么,這個事件被刪除,小球停止運動。

  二、畫正玄圖象

  1、新知識點:

  (1)my_mc.createEmptyMovieClip(instanceName, depth)

  創(chuàng)建作為現有影片剪輯(my_mc)子級的空影片剪輯;

  instanceName:創(chuàng)建的子級影片剪輯的名稱;

  depth:創(chuàng)建的子級影片剪輯的名稱.

  (2)my_mc.lineStyle(線條寬度,線條顏色,線條透明度);

  my_mc.moveTo(起點橫坐標, 起點縱坐標);

  my_mc.lineTo(終點橫坐標, 終點縱坐標);

  (3)正玄函數

   y=sin(x)

  其中y為-1到1之間。

  2、例3.2.2 源程序腳本:(都寫在場景的第1幀)

  點擊查看動畫效果<


復制代碼
代碼如下:

  i = 0; //變量初始化;
   createEmptyMovieClip("mc", 5);//在主時間軸下創(chuàng)建影片mc,深度為1
   with (mc) { //下面幾條都是對mc的操作
   lineStyle(2, 0x00ff00, 100);//畫線條的寬度為2,色彩為綠色,透明度為100
   moveTo(100, 50); //畫豎線的起點橫坐標100,縱坐標50
   lineTo(100, 300); //畫豎線的終點橫坐標100,縱坐標300;
   moveTo(50, 200); //畫橫線的起點橫坐標50,縱坐標200
   lineTo(480, 200); //畫橫線的終點橫坐標480,縱坐標200
   moveTo(100, 200); //畫正玄的起點
   lineStyle(1, 0xff0000, 100);//正玄線的寬度為1,色彩為紅色,透明度為100
   }
   onEnterFrame = function () {//執(zhí)行主時間軸下的事件處理函數
   x = 100+i; //橫軸表示角度,這里i為角度變化。計算正玄函數的橫坐標;100是坐標原點橫坐標
   y = 200-100*Math.sin(i*Math.PI/180);//計算正玄的縱坐標;
   mc.lineTo(x, y); //正玄線的下一點的坐標
    i++;
   if (i>=360) { //正玄函數的一個周期360度
   delete onEnterFrame;//刪去這個事件處理函數
  }
};

  3 作業(yè):

  A :把上面的畫正玄函數改動為:

  (1)坐標原點為(100,100);

  (2)函數高度為50;

  (3)每隔5度畫一點。

  B: (選作)把上面的畫正玄函數改動為:正玄圖象起點的橫坐標、震幅、跨度由輸入文本控制如下圖的形式

  點擊查看動畫效果<

  查看全套"Flash AS 高級教程"

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 成人在线精品视频 | 在线观看你懂的网站 | 国产精品夜色一区二区三区 | 日韩一级免费在线观看 | 国产精品一区二区三 | 久久精品免费电影 | 久久久精品日本 | 十八岁禁看网站 | 中文字幕在线一区二区三区 | 午夜高清视频 | 国产精品久久久久毛片软件 | 九九福利 | 成人看片免费 | 婷婷亚洲五月 | 欧美视频在线观看一区 | 日韩免费在线播放 | 99久久综合国产精品二区 | 午夜免费视频网站 | 久草久草 | 涩涩涩涩涩涩涩 | 午夜激情电影在线 | 免费成人小视频 | 国产免费一区二区三区最新不卡 | 久久久久国产精品午夜一区 | 欧美精品三级 | 麻豆一区 | 2021天天干夜夜爽 | 99精品免费视频 | 99re6热在线精品视频播放 | 亚洲国产成人久久综合一区,久久久国产99 | 欧美成人一区二 | 亚洲欧美在线综合 | 国产精品 日韩 | 久久狠狠 | 中文字幕 国产 | 成人国产在线视频 | 色婷婷国产精品 | 国内精品在线视频 | 爱福利视频 | 青青草亚洲| 日韩视频在线一区 |