• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      用Flash CS3的ActionScript 3.0腳本設(shè)計(jì)語(yǔ)言制作“機(jī)械波”課件

      2013-01-11 03:37:20張明明
      物理通報(bào) 2013年4期
      關(guān)鍵詞:機(jī)械波振子振幅

      張明明

      (滕州市中等職業(yè)教育中心學(xué)校機(jī)械電氣部 山東 滕州 277500)

      機(jī)械波模型是高中及中職物理教學(xué)中十分重要的物理模型.在傳統(tǒng)教學(xué)中,教師上課時(shí)總要拿著沉重的機(jī)械波模型進(jìn)行模擬,十分不便,而學(xué)生的觀察效果也不理想.雖然在一些光盤(pán)或互聯(lián)網(wǎng)上也能找到一些別人制作的“機(jī)械波”課件,卻總感覺(jué)與自己的教學(xué)思路不能完全匹配,不能按照自己的意愿隨意修改.于是筆者常想自己制作“機(jī)械波”課件,能夠比較容易地改變頻率、波長(zhǎng)和振幅的大小,以便能給學(xué)生方便地演示和解釋機(jī)械波的傳播原理及各種特性的含義.

      本人在學(xué)習(xí)Flash ActionScript 3.0腳本設(shè)計(jì)語(yǔ)言的過(guò)程中,摸索出制作“機(jī)械波”模型的方法.現(xiàn)在總結(jié)成文,期望與同行共同切磋.由于每位教師的教學(xué)思路都不一樣,如果大家都能夠?qū)W習(xí)一點(diǎn)Flash動(dòng)畫(huà)制作及一些簡(jiǎn)單的編程語(yǔ)言,就可以制作出完全切合自己教學(xué)思路的課件,增加自己的課堂色彩.

      下面筆者詳細(xì)介紹一下自己的“機(jī)械波”課件的制作過(guò)程和思路.

      1 制作基本元件

      打開(kāi)Flash CS3,創(chuàng)建一個(gè)新的文檔,默認(rèn)舞臺(tái)大小為“550×400 pixels”.打開(kāi)“新建元件”對(duì)話框,創(chuàng)建一個(gè)名字為“zenz”的影片剪輯,使用繪圖工具在影片剪輯的中央位置繪制一個(gè)大小為5 pixels的圓形.打開(kāi)“庫(kù)”面板,右擊剛才創(chuàng)建的元件“zenz”,在彈出的快捷菜單中選擇“鏈接…”命令,打開(kāi)“鏈接屬性”對(duì)話框,勾選“為ActionScript導(dǎo)出”復(fù)選框,此時(shí)“類”和“基類”兩個(gè)文本框被激活并添加了默認(rèn)值,如圖1所示.

      圖1

      本課件所需要繪制的圖形就這一個(gè),注意不要畫(huà)到舞臺(tái)上,本課件所展示的圖形全部是由代碼控制產(chǎn)生的(當(dāng)然如果想畫(huà)一些參考線,可以在舞臺(tái)的最下面一層添加).下面就進(jìn)入代碼編寫(xiě)階段.

      2 編寫(xiě)簡(jiǎn)諧運(yùn)動(dòng)代碼

      將第一個(gè)圖層命名為“命令”圖層,選擇第1幀并打開(kāi)“動(dòng)作”面板,輸入以下代碼(“//”后面的文字是解釋文字):

      var j:uint=0;

      //定義變量j,并賦值為0.

      var zhenFu:uint=100;

      //定義變量zhenFu,并賦值為100.此變量控制機(jī)械波的振幅.

      var boChang:uint=13;

      //定義變量boChang,并賦值為13.此變量控制機(jī)械波的波長(zhǎng),它的數(shù)值實(shí)際上是兩個(gè)振子的水平間距.

      var pinLv:uint=20;

      //定義變量pinLv,并賦值為20.此變量控制機(jī)械波的頻率.

      for (var i:uint=0; i<41; i++) {

      this["zenz"+i]=new zenz();

      this["zenz"+i].x=20+boChang*i;

      this["zenz"+i].y=200-zhenFu*Math.sin((Math.PI/pinLv*j)-(Math.PI/pinLv*i));

      addChild(this["zenz"+i]);

      }

      //這個(gè)for語(yǔ)句,是在舞臺(tái)上產(chǎn)生41個(gè)振子實(shí)例,實(shí)例名分別是“zenz0” 、“zenz1”、“zenz2”…“zenz40”,并按照機(jī)械波的規(guī)律分別安排了它們的位置(x,y坐標(biāo)).此機(jī)械波的起點(diǎn)在舞臺(tái)上的(20,200)點(diǎn),終點(diǎn)在(540,200)點(diǎn).

      functionmysin() {

      //定義函數(shù)mysin,后面要不斷調(diào)用,才能使機(jī)械波的形態(tài)不斷地變換.

      j=j+1;

      if (j>(2*pinLv)) {

      j=j-(2*pinLv);

      }

      //讓變量j不斷增加,并用一個(gè)if語(yǔ)句控制它的數(shù)值在一定范圍內(nèi)循環(huán)變化.

      for (i=0; i<41; i++) {

      this["zenz"+i].x=20+boChang*i;

      this["zenz"+i].y=200-zhenFu*Math.sin((Math.PI/pinLv*j)-(Math.PI/pinLv*i));

      }

      //這個(gè)for語(yǔ)句是在j為某一個(gè)值的時(shí)候,讓前面產(chǎn)生的41個(gè)振子實(shí)例按照正弦波的規(guī)律重新排好位置.

      }

      //函數(shù)mysin定義結(jié)束.

      setInterval(mysin,20);

      //此語(yǔ)句讓計(jì)算機(jī)每20 ms運(yùn)行一次函數(shù)mysin,這樣就能產(chǎn)生出連續(xù)不斷運(yùn)動(dòng)的機(jī)械波了.

      如果代碼到此為止,運(yùn)行一下會(huì)發(fā)現(xiàn)舞臺(tái)上會(huì)出現(xiàn)一個(gè)由41個(gè)振子組成的不斷變化的機(jī)械波,如圖2所示.

      圖2 由41個(gè)振子組成的機(jī)械波

      如果想比較方便地改變它的頻率、波長(zhǎng)和振幅,還需要增加一些控制按鈕.

      3 添加控制按鈕

      在舞臺(tái)上新創(chuàng)建一個(gè)圖層并命名為按鈕,執(zhí)行“窗口”→“公用庫(kù)”→“按鈕”命令打開(kāi)按鈕庫(kù),分別選擇classic buttons→playback文件夾中的gel Left按鈕和gel Right按鈕,將它們拖放到舞臺(tái)的下部,再分別復(fù)制兩次,在舞臺(tái)上建立6個(gè)按鈕實(shí)例.插入3個(gè)靜態(tài)文本,內(nèi)容分別為“振幅”、“波長(zhǎng)”和“頻率”.調(diào)整按鈕和文本的位置,如圖3所示.

      圖3

      選中第一個(gè)按鈕,打開(kāi)“屬性”面板,設(shè)置它的實(shí)例名為“zhenJ”,如圖4所示.

      圖4

      依次選中另外5個(gè)按鈕,打開(kāi)“屬性”面板,分別設(shè)置它們的實(shí)例名為 “zhenZ”、“boJ”、“boZ”、“pinJ”和“pinZ”.

      4 編寫(xiě)按鈕代碼

      再次選擇“命令”圖層第1幀,打開(kāi)“動(dòng)作”面板,在前面的代碼后面接著輸入以下代碼:

      zhenJ.addEventListener(MouseEvent.MOUSE_DOWN,myzhenJ);

      functionmyzhenJ(e:MouseEvent ) {

      if (zhenFu>10) {

      zhenFu=zhenFu-5;

      } else {

      zhenFu=zhenFu;

      }

      }

      //在按鈕“zhenJ”上注冊(cè)一個(gè)鼠標(biāo)事件的偵聽(tīng)函數(shù)myzhenJ,使鼠標(biāo)單擊此按鈕時(shí),變量“zhenFu”的數(shù)值減小5,并用一個(gè)if語(yǔ)句控制變量“zhenFu”的數(shù)值最小為10.用戶通過(guò)點(diǎn)擊此按鈕可以減小機(jī)械波的振幅.

      zhenZ.addEventListener(MouseEvent.MOUSE_DOWN,myzhenZ);

      functionmyzhenZ(e:MouseEvent ) {

      zhenFu=zhenFu+5;

      }

      //在按鈕“zhenZ”上注冊(cè)一個(gè)鼠標(biāo)事件的偵聽(tīng)函數(shù)myzhenZ,使鼠標(biāo)單擊此按鈕時(shí),變量“zhenFu”的數(shù)值增大5.用戶通過(guò)點(diǎn)擊此按鈕可以增大機(jī)械波的振幅.

      用類似的方法可以給按鈕“boJ”、“boZ”、“pinJ”和“pinZ”添加控制代碼,通過(guò)改變變量“boChang”和“pinLv”的值,來(lái)調(diào)節(jié)機(jī)械波的波長(zhǎng)和頻率的大小.由于篇幅所限,不再贅述.

      通過(guò)點(diǎn)擊按鈕“zhenJ”和“zhenZ”可以改變機(jī)械波的振幅,方便講解振幅的概念;通過(guò)點(diǎn)擊按鈕“boJ”和“boZ”可以改變機(jī)械波的波長(zhǎng),方便講解波長(zhǎng)的概念;通過(guò)點(diǎn)擊按鈕“pinJ”和“pinZ”可以改變振子的振動(dòng)頻率,模擬在一般介質(zhì)中,機(jī)械波的頻率與波長(zhǎng)成反比的特點(diǎn).

      廣大的同行如果都能理解本課件的代碼,就可以隨心所欲地修改它,滿足自己教學(xué)的需求.希望同行與筆者聯(lián)系,交流經(jīng)驗(yàn),共同進(jìn)步,為我國(guó)的中等職業(yè)物理教學(xué)事業(yè)做出更大的貢獻(xiàn).

      猜你喜歡
      機(jī)械波振子振幅
      機(jī)械波經(jīng)典問(wèn)題與突破
      機(jī)械振動(dòng)、機(jī)械波、光學(xué)思維導(dǎo)圖
      探析機(jī)械波圖像問(wèn)題的處理方法
      彈簧振子問(wèn)題的分析與求解
      探析機(jī)械波圖像問(wèn)題的處理方法
      非線性Duffing擾動(dòng)振子共振機(jī)制的研究
      十大漲跌幅、換手、振幅、資金流向
      十大漲跌幅、換手、振幅、資金流向
      十大漲跌幅、換手、振幅、資金流向
      滬市十大振幅
      保亭| 眉山市| 江西省| 财经| 高青县| 辽宁省| 卓尼县| 枣庄市| 游戏| 肥东县| 理塘县| 延吉市| 张家港市| 内江市| 宣武区| 即墨市| 富宁县| 阿巴嘎旗| 邹平县| 茂名市| 浪卡子县| 星座| 达拉特旗| 江陵县| 黄陵县| 新和县| 阿坝| 开阳县| 甘谷县| 海门市| 海淀区| 安龙县| 札达县| 昌吉市| 南华县| 龙陵县| 涪陵区| 山东省| 抚远县| 石景山区| 富蕴县|