• 
    

    
    

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

      Flash全交互智能化物理課件的設計與實現(xiàn)

      2012-11-18 07:16:40蔣明燦楊秀德高欽翔
      遵義師范學院學報 2012年6期
      關鍵詞:振子鼠標小球

      吳 波,蔣明燦,楊秀德,高欽翔

      (1.遵義師范學院物理與機械工程學院,貴州 遵義 563002;2.遵義市第四中學,貴州遵義 563000)

      多媒體課件作為計算機輔助教學的主要載體給各學科的教學工作帶來了極大的便利,但是,傳統(tǒng)的線性和交互型課件由于演示性強、交互性弱、探究性差已經遠遠不能滿足輔助教學的要求。隨著國家新一輪課程標準的頒布,教學中更加注重培養(yǎng)學生的科學素養(yǎng)和創(chuàng)新精神,強調必須改變傳統(tǒng)的灌輸式教學方式為培養(yǎng)學生自主學習能力的探究模式,這必然對信息技術和學科的整合提出更高的要求。因此,全交互、智能化和探究型多媒體課件將是新一輪課改的一個重要的努力方向[1]。

      1 全交互智能化課件的含義和特點

      全交互智能化課件是指使用者完全通過鍵盤、鼠標、觸摸屏、光筆甚至聲音等方式,對學習內容、學習步驟、學習速度自行選擇,并可根據交互事件的響應能得到即時的反饋信息的新型課件。具體來說其主要有三個方面的特點[2]:

      (1)全交互。即課件場景中對象能在用戶鼠標、鍵盤操作下作出響應,能實現(xiàn)對操作對象的移動、關聯(lián)、組合等動作,并可以通過鼠標、鍵盤事件響應實現(xiàn)模擬實驗等。

      (2)智能化。即課件能科學地體現(xiàn)知識的內在機理,對用戶的操作進行跟蹤和反饋,并在合適的位置給予相應的提示和評價。

      (3)探究性。即課件能完全通過人機交互來模擬知識探索的全過程。學習者按照不同的途徑、條件、步驟和方法,觀察到相應的實驗現(xiàn)象,并在此基礎上對這些知識進行探究,達到解決問題和獲取結論的目的。

      2 全交互智能化課件的設計與實現(xiàn)方法

      2.1 開發(fā)平臺的選擇

      全交互智能化課件對開發(fā)平臺提出了很高的要求,既要能模擬物理實驗的真實環(huán)境,又要體現(xiàn)全交互、智能化和探究性。傳統(tǒng)的課件開發(fā)工具如Powerpoint、Authorware 很難達到這樣的要求,Macromedia公司開發(fā)的Flash是一個很好的選擇。首先Flash有豐富的圖形處理功能,便于制作各種實驗物品和實驗儀器;其次隨著其新版本的陸續(xù)推出,F(xiàn)lash更加注重腳本語言的發(fā)展,目前的ActionScript2.0和ActionScript3.0已是一種類似于Java的面向對象編程語言,這為課件實現(xiàn)交互性、智能化和探究性提供了可能;另外,F(xiàn)lash是一種基于Web的開發(fā)平臺,豐富的數據接口和友好的運行環(huán)境也為其廣泛推廣提供了可能?;谶@些優(yōu)點,F(xiàn)lash作為目前大紅大紫的網頁動畫設計工具,用于開發(fā)當前的全交互、智能化多媒體課件獨具潛力。

      下面,我們將通過自制“彈簧振子”課件的實例,詳細介紹利用Flash平臺的ActionScript 2.0腳本語言,實現(xiàn)全交互智能型物理課件設計和開發(fā)的過程與方法。

      2.2 設計思路和步驟

      (1)打開Flash軟件,新建Flash文檔,保存為“彈簧振子.fla”文件。設計實驗演示初始場景:在舞臺上方設置課件標題為“彈簧振子”,使用繪圖工具繪制小球、彈簧等圖片素材。

      (2)鼠標交互控制:分別將小球和彈簧圖片轉為小球和彈簧影片剪輯,創(chuàng)建“彈簧振子”運動動畫。通過Flash腳本語言編程,實現(xiàn)鼠標對小球的拖放和相應彈簧的拉伸和壓縮,要求鼠標釋放后,小球會在鼠標釋放處獲取彈簧和小球的位置參數,自動使得小球在此彈簧回復力的作用下作簡諧振動,觀察到無阻尼運動的模擬簡諧振動現(xiàn)象。

      (3)鍵盤交互控制:新建兩個輸入文本,用于輸入小球質量和彈簧系數的值,演示中使用者可根據需要改變文本框輸入值,程序將同步響應這個輸入操作,實現(xiàn)輸入值與“彈簧振子”動畫的動態(tài)交互。

      (4)屏幕輸出交互:對小球所受到的回復力、位移、速度、加速度以及動能與勢能等物理量通過文本框、圖形等形式進行動態(tài)顯示,以幫助使用者實時了解這些物理量的變化關系。具體在此課件設計中,分別用四個長度、方向不斷變化的箭頭來模擬小球所受到的回復力、位移、速度、加速度,箭頭的長度反映了該物理量的大小,箭頭的指向代表了該物理量的方向;動能和勢能的轉化用兩個長度不斷變化的矩形表現(xiàn),矩形的長度分別代表了兩者能量的大小。

      (5)全局控制:設置“停止”、“繼續(xù)”和“返回”三個控制按鈕,實現(xiàn)控制課件動畫的演示運行和返回初始狀態(tài)。

      (6)輔助設計:在演示場景舞臺左下角處給使用者提供課件演示的“操作說明”。

      (7)輸出和平臺轉移:測試和發(fā)布影片,并保存為“彈簧振子.swf”影片文件,也可以輸出為“.exe”可執(zhí)行文件,用于各種教學環(huán)境之中。

      2.3 演示場景界面設計

      按照設計思路要求進行制作,本課件實驗演示場景設計界面如圖1所示。

      圖1 課件實驗演示場景界面

      3.3 全交互實現(xiàn)方法

      “彈簧振子”課件全交互設計主要是通過鼠標和鍵盤兩種交互操作方式,完全利用Flash Action-Script2.0腳本語言編程來實現(xiàn)。

      3.3.1 鼠標交互

      (1)拖拽交互

      在網上經??吹紽lash影片中有的對象可以被鼠標進行拖動。例如類似七巧板的拼圖游戲,控制音量的滑桿等,所使用的就是Flash中的拖拽動作。上述設計思路(2)也是利用Flash影片剪輯實例的拖拽命令來實現(xiàn)的。

      圖2 鼠標拖動小球釋放后的實驗演示現(xiàn)象

      操作步驟:

      1)打開“彈簧振子.fla”Flash文檔,在演示場景舞臺上繪制一個小球,選中小球并按F8,將此轉換為影片剪輯,命名為xq,確定后將會在舞臺上創(chuàng)建一個小球的實例。

      2)選中此實例,并按F9打開動作面板,輸入如下腳本:

      on(press){

      startDrag("",true,-220,-8,275,-8);//當鼠標按下之后,小球在水平方向處于被拖拽狀態(tài)

      _root.xingbian1.play();

      _root.xingbian2.gotoAndStop(1);

      }

      on(release){

      stopDrag();

      //當鼠標釋放之后,將停止小球拖拽動作

      _root.xingbian1.gotoAndStop(1);

      _root.xingbian2.play();

      }

      上述代碼中xingbian1和xingbian2是鼠標“按下”和“釋放”xq影片剪輯實例事件后,響應小球和彈簧同步運動動畫的兩個代碼影片實例,其程序代碼見后面描述。

      (2)按鈕交互

      按鈕交互是實現(xiàn)課件交互最常用的一中交互操作方式。按鈕是Flash動畫的基本元件之一,通過對它的設置可以實現(xiàn)場景的播放、停止、快進、快退、暫停、跟隨[3]等操作。上述設計思路(5)就是利用Flash按鈕實例的命令來實現(xiàn)對“彈簧振子”動畫進行人機交互的。具體操作步驟是:

      1)在演示場景舞臺上創(chuàng)建“停止”、“繼續(xù)”和“返回”三個按鈕元件,分別命名為tz、jx和fh。

      2)依次選中這三個按鈕實例,并按F9打開動作面板,分別輸入如下腳本:

      停止按鈕:

      on(release){

      _root.xingbian1.gotoAndStop(1)

      _root.xingbian2.stop();//演示停止

      }

      繼續(xù)按鈕:

      on(release){

      _root.xingbian1.gotoAndStop(1)

      _root.xingbian2.play();//演示繼續(xù)

      }

      返回按鈕:

      on(release){

      _root.xingbian1.gotoAndStop(1);

      _root.xingbian2.gotoAndStop(1);

      _root.gotoAndStop(1);

      //返回初始狀態(tài)

      _root.huang._width=269;_root.xq._x=37;

      //小球和彈簧返回初始位置

      _root.biao1._visible =0;_root.biao2._visible =0;_root.biao3._visible=0;

      _root.wll._visible=false;_root.ljt0._visible=false;_root.ljt._visible=false;

      _root.wjt0._visible=false;_root.wjt._visible=false;_root.sjt0._visible=false;

      _root.sjt._visible=false;_root.ajt0._visible=false;_root.ajt._visible=false;

      _root.dn._visible=false;_root.jxn._visible=false;

      //模擬回復力、位移、速度、加速度箭頭和能量矩形與坐標參考線設置為不可見

      }

      3.3.2 鍵盤交互

      以上影片拖拽和按鈕交互都是通過利用鼠標點擊或釋放等來實現(xiàn)對課件的交互。此外,鍵盤交互也是常用方式。課件使用者通過鍵盤輸入指定信息后,對相應事件作出響應,從而達到實現(xiàn)課件交互的目的。上述設計思路(3)和(4)就是利用鍵盤輸入命令和在課件制作中采用“三幀法”[4]來實現(xiàn)的。

      本課件的鍵盤交互主要是使用者可根據具體需要,改變小球質量和彈簧彈性系數兩個文本框輸入值,實現(xiàn)“彈簧振子”動畫的同步響應與動態(tài)交互。其交互效果如圖2~圖4所示。

      圖3 改變彈簧彈性系數后的實驗演示現(xiàn)象

      圖4 改變小球質量后的實驗演示現(xiàn)象

      圖5 彈簧彈性系數和小球質量同時改變后的實驗演示現(xiàn)象

      操作步驟:

      1)在演示場景舞臺上創(chuàng)建兩個代碼影片剪輯元件,分別命名為xingbian1和xingbian2。xingbian1影片剪輯的作用是用來記錄鼠標釋放小球時的狀態(tài)(包括位移、回復力和加速度等),xingbian2影片剪輯的作用是用來實現(xiàn)鼠標釋放小球后的運動動畫。

      2)分別進入兩個影片剪輯的圖層中,在時間軸上都添加為三幀關鍵幀,在每幀關鍵幀上依次按下F9打開動作面板輸入腳本,在兩個影片剪輯的三幀關鍵幀中分別輸入如下腳本:

      Xinbian1影片剪輯:

      第一幀:stop();i=0;

      第 二 幀 :i=_root.xq._x;x0=37;w=269;_root.huang._width=w+i-x0;A=i-x0;

      第三幀:gotoAndPlay(2);//同步循環(huán)第二幀

      xinbian2影片剪輯:

      第一幀:stop();A=0;t=0;

      第二幀:k=_root.k;//彈性系數 m=_root.m;//小球質量 t=t+0.5;//時間變量

      T=Math.PI*2*Math.sqrt(m/k);//周期 A=_root.xingbian1.A;//振幅

      x=_root.xq._x;//小球位置 x10=Math.abs(x-37);

      w=Math.sqrt(k/m);//角頻率

      if(A>225 or A<-225){

      _root.xq._x=37+A;_root.huang._width=269+A;

      _root.ljt0._visible=false;_root.ljt._visible=false;

      _root.wjt0._visible=false;_root.wjt._visible=false;

      _root.sjt0._visible=false;_root.sjt._visible=false;

      _root.ajt0._visible=false;_root.ajt._visible=false;

      _root.dn._visible=false;_root.jxn._visible=false;

      _root.biao1._visible=false;_root.biao2._visible=false;_root.biao3._visible=false;

      //發(fā)生泛性形變,即小球拉伸或壓縮到超出彈簧發(fā)生彈性形變范圍

      }else{

      _root.xq._x=37+A*Math.cos(Math.sqrt(k/m)*t);

      _root.huang._width=269+A*Math.cos(Math.sqrt(k/m)*t);

      _root.ljt0._visible=true;_root.ljt._visible=true;

      _root.wjt0._visible=true;_root.wjt._visible=true;

      _root.sjt0._visible=true;_root.sjt._visible=true;

      _root.ajt0._visible=true;_root.ajt._visible=true;

      _root.dn._visible=true;_root.jxn._visible=true;

      _root.biao1._visible=true;_root.biao2._visible=true;_root.biao3._visible=true;

      //發(fā)生彈性形變,即小球作簡諧振動

      if(x>=37){

      _root.ljt0._rotation=180;_root.ljt._rotation=180;_root.ljt0._x=37;

      _root.ljt0._width=k*x10;_root.ljt._x=_root.ljt0._x-_root.ljt0._width;

      }else{

      _root.ljt0._rotation=0;_root.ljt._rotation=0;_root.ljt0._x=37;

      _root.ljt0._width=k*x10;_root.ljt._x=_root.ljt0._x+_root.ljt0._width;

      } //模擬“力”

      if(x>=37){

      _root.wjt0._rotation=0;_root.wjt._rotation=0;_root.wjt0._x=37;

      _root.wjt0._width=x10;_root.wjt._x=_root.wjt0._x+_root.wjt0._width;

      }else{

      _root.wjt0._rotation=180;_root.wjt._rotation=180;_root.wjt0._x=37;

      _root.wjt0._width=x10;_root.wjt._x=_root.wjt0._x-_root.wjt0._width;

      }//模擬“位移”

      a=(k*x10)/m;

      if(x>=37){

      _root.ajt0._rotation=180;_root.ajt._rotation=180;_root.ajt0._x=37;

      _root.ajt0._width=a;_root.ajt._x=_root.ajt0._x-_root.ajt0._width;

      }else{

      _root.ajt0._rotation=0;_root.ajt._rotation=0;_root.ajt0._x=37;

      _root.ajt0._width=a;_root.ajt._x=_root.ajt0._x+_root.ajt0._width;

      }//模擬“加速度”

      v=-A*w*Math.sin(w*t);v10=Math.abs(v);

      if(v>=0){

      _root.sjt0._rotation=0;_root.sjt._rotation=0;_root.sjt0._x=37;

      _root.sjt0._width=v10;_root.sjt._x=_root.sjt0._x+_root.sjt0._width;

      }else{

      _root.sjt0._rotation=180;_root.sjt._rotation=180;_root.sjt0._x=37 ;

      _root.sjt0._width=v10;_root.sjt._x=_root.sjt0._x-_root.sjt0._width;

      }//模擬“速度”

      _root.jxn._width=m* (-A)*(-A)*w*w/2;_root.jxn._x=37-_root.jxn._width;

      _root.dn._width=m*v*v/2;_root.dn._x=_root.jxn._x;

      _root.biao2._x=37;_root.biao1._x=37-Math.abs(A);

      _root.biao3._x=37+Math.abs(A);

      _root.biao1._y =_root.biao2._y;_root.biao3._y =_root.biao2._y;

      }//模擬“動能”、“勢能”和“機械能”

      第三幀:gotoAndPlay(2);//同步循環(huán)第二幀

      當然,除鼠標和鍵盤交互外,實現(xiàn)課件交互的方式還有其它,如觸摸屏交互、聲音交互等。順便提及,以上鼠標和鍵盤交互的實現(xiàn)ActionScript2.0腳本都是編寫在對象本身上面,注意的是ActionScript2.0腳本也可編寫在時間軸的關鍵幀上,只不過這兩種編寫方法都要遵循一定的規(guī)則。第一種AS的編寫方法:把腳本寫在對象本身,書寫規(guī)則是:on(事件){statements;//要執(zhí)行的腳本程序};第二種按鈕AS的編寫方法:把腳本程序寫在時間軸上,遵循的規(guī)則為:實例名.事件=function(){statements;//要執(zhí)行的腳本程序}[5]。此外,按鈕和影片剪輯有八種事件,我們經常用的是“按”(press)事件和“釋放”(release)事件。它們的區(qū)別在于“按”事件是當鼠標左鍵按下執(zhí)行,而“釋放”事件是在鼠標左鍵按下后再釋放時執(zhí)行,這些在課件制作中可根據實際需要作出選擇。

      4 結束語

      全交互智能化課件由于同時具有交互性、智能化和探究性的特點,改變了學習者傳統(tǒng)的學習方式,有利于學習者對知識的自我建構,符合新課程標準對課件的設計理念,在傳統(tǒng)課件的基礎上向前邁出了一大步,為計算機輔助教學的發(fā)展提供了新的思路。在新一輪課程改革背景下,利用全交互智能化課件開展探究式物理教學將是培養(yǎng)學生科學素養(yǎng)和創(chuàng)新精神的有效途徑。但是,由于全交互智能化課件需要完全利用計算機語言編程實現(xiàn),制作難度較大,加上人們普遍還沒有從傳統(tǒng)課件的固有模式中解放出來,導致目前真正能達到全交互智能化要求的課件還很少,我們對它的認識也還遠遠沒有達到應有的深度。以上我們以Flash軟件為平臺,利用其自身ActionScript2.0腳本語言,設計和實現(xiàn)了全交互智能化物理課件,也只是作了一些嘗試和探討。對于全交互智能化課件的研究還需繼續(xù)深入下去,尤其是制作者應在課件的交互性、智能化和探究性上多花工夫,多開發(fā)出一批高水平的產品[6]。全交互智能化課件必將在今后的教學活動中大顯身手,對我國教育教學事業(yè)的發(fā)展產生積極深遠的影響。

      [1]何克抗.信息技術與課程深層次整合的理論與方法[J].電化教育研究,2005,(1):7-15.

      [2]任建華,冉鳴.全交互智能化化學課件及實現(xiàn)方法淺析[J].化學教學,2006,(9):47-49.

      [3]莊文杰,李莎.基于Flash的課件交互功能的設計[J].軟件導刊(教育技術),2009,(4):81-82.

      [4]吳波,楊秀德.利用Flash的Action Script實現(xiàn)三幀交互型物理課件的方法[J].遵義師范學院學報,2008,(5):77-79.

      [5]章精設.Flash ActionScript2.0 編程范例導航[M].北京:清華大學出版社,2006.25-52.

      [6]曾令院.也談 Flash 制作交互性課件[J].硅谷,2010,(2):40-40.

      猜你喜歡
      振子鼠標小球
      彈簧振子問題的分析與求解
      聯(lián)想等效,拓展建?!浴皫щ娦∏蛟诘刃鲋凶鰣A周運動”為例
      Progress in Neural NLP: Modeling, Learning, and Reasoning
      Engineering(2020年3期)2020-09-14 03:42:00
      小球進洞了
      小球別跑
      小球別跑
      家教世界(2020年10期)2020-06-01 11:49:26
      非線性Duffing擾動振子共振機制的研究
      基于近似熵和混沌振子的電力諧波檢測與估計
      電磁彈簧振子實驗裝置的改進
      物理實驗(2015年10期)2015-02-28 17:36:55
      45歲的鼠標
      少年科學(2009年1期)2009-01-20 03:25:10
      巴林左旗| 五华县| 旺苍县| 耿马| 扶风县| 陆川县| 怀安县| 襄汾县| 阿合奇县| 湟源县| 芮城县| 桐柏县| 青龙| 鲁甸县| 赤水市| 漾濞| 天水市| 克拉玛依市| 武穴市| 当阳市| 崇仁县| 阿荣旗| 乌拉特中旗| 谢通门县| 怀集县| 锡林郭勒盟| 凭祥市| 本溪| 康马县| 乌审旗| 淮南市| 长沙市| 西乡县| 新巴尔虎右旗| 南阳市| 许昌市| 鄱阳县| 靖边县| 闻喜县| 新野县| 宣化县|