999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

使用Flash動畫演示物體運動過程
——以彈簧振子為例

2018-03-05 05:48:02湛高超林盼明
物理通報 2018年3期
關鍵詞:按鈕動畫程序

湛高超 林盼明

(華南師范大學物理與電信工程學院 廣東 廣州 510006)

物理是研究物體運動規律的一門科學,在物理教學中,有大量需要使用動畫的地方,但在網上并不容易找到一個合適的動畫.Flash是一個功能強大的動畫制作軟件,但要精通Flash并不容易.本文介紹一種使用Flash ActionScript 2.0程序的動畫制作方法,簡單易行,為教學提供便利.

1 演示程序

1.1 演示程序框架

圖1 演示程序框架

程序框架如圖1所示,在程序開始,先定義需要用到的物理量,如質量m1,速度v1等,以及程序需要用到的中間變量、信號標識變量.然后便是控制物體運動的程序,將相關的公式在此輸入.最后便是循環程序,其功能是每隔一定的時間運行一次對應的程序,便將一個連續的物理過程轉換為步進的物理過程,只要設置的時間間隔足夠小,肉眼觀看時便是一個連續的動畫.

1.2 賦值程序

賦值程序既可以放在按鈕中,也可以放在第一幀,或者將一部分整個運動過程都需要用到的放在第一幀,其他的放在對應的按鈕中.以彈簧振子的演示為例,在第一幀進行了如下賦值:

sign=1;//按鈕信號標識變量

danwei=0.0001;//屏幕坐標與現實坐標的轉換比值,1屏幕單位=0.000 1 m

xzuobiao=500;yzuobiao=500;Ekzuobiao=100000;Epzuobiao=400//繪圖時xy坐標的伸縮

m1=0.1;m2=0.1;//兩個物體的質量

a=cara._x;b=carb._x;//獲取兩個物體的位置

c=tanhuang._x;//彈簧的位置

d=c-a;//彈簧到物體a的距離

l=b-a;//兩個物體之間的距離

t=0;//時間初始值

v1=0.05;v2=0;//程序賦予初始速度

//文本框輸入初始值可改為以下程序

//v1=v1.text;v2=v2.text//從名字為v1,v2的輸入文本框中獲取值[1-2]

Ek= 4*(1/2*m1*v1*v1+1/2*m2*v2*

v2)*danwei*danwei;Ep=0;//初始動能和勢能

v11=v1;v22=v2;//速度的中間變量

1.3 運動程序

推導出物體運動的方程式,按照步進的方式設計程序,每刷新一次更新一次位置,基本框架如下:

function yundongmingcheng()

{ if(物體處于允許的運動范圍){

{t=t+1;運動程序,代入物理方程式,更新物體所處位置}

else{停止循環程序}

}

以彈簧振子的演示為例,運動程序如下:

functiontanhuangzhenzi()

{

if(carb._x<900)//控制物體在屏幕邊界內

{t=t+1;//時間增加

cara._x=v1/danwei/100 +cara._x;

carb._x=v2/danwei/100 +carb._x;//物體按t時刻各自的速度運動一個時間間隔

Ek=4*(1/2*m1*v1*v1+1/2*m2*v2*

v2);//計算t時刻的動能

Ep=2*Math.abs(1/2*(l-(carb._x-cara._x))*0.03*0.03);//計算t時刻的彈性勢能

F=(l-(carb._x-cara._x))*danwei*0.03;//計算t+1時刻彈簧的彈力,其中彈簧勁度系數κ=0.03 N/m

v2=(m2*v2+F)/m2;v1=(m1*v1-F)/m1;//計算t+1時刻的速度

tanhuang._x=(carb._x+cara._x+42+42)/2;//計算彈簧的位置,根據所畫物體的大小調整

tanhuang._xscale=(carb._x-cara._x-76.5)

/(l-76.5)*100;//控制彈簧伸縮,根據所畫物體的大小調整

}

else{clearInterval(bj);//運動到邊界時停止循環程序}

}

1.4 循環程序

Flash中用于循環的程序有幾個,此處推薦使用setInterval(程序名稱,時間間隔),通過對循環運行運動函數,在屏幕上便可以看到連續的動畫[3].該函數的使用方法很簡單,如下:

var bj;//隨便起一個名字

bj=setInterval(tanhuangzhenzi,10);//每隔10ms運動一次tanhuangzhenzi函數

停用循環函數的指令為clearInterval(bj),該指令可放置到運動函數中,當物體運動到屏幕邊界時停止運動,也可以根據需要放置到暫停、停止按鈕中.

1.5 運動速度調節

動畫中物體運動的快慢,是由循環程序每運行一次運動程序時,物體在屏幕坐標中的增加量決定的.因此,需要在賦值程序中,定義一個變量danwei,單位為:米/屏幕坐標,在運動程序的公式中,需要時刻注意保持等式兩邊量綱一致.這個變量設置為多少,可在最后調試動畫時,根據個人喜好進行調整.同時,還需要注意循環程序中的時間間隔,如在彈簧振子的動畫中,該時間間隔設為10 ms,而在運動程序中,速度的單位是m/s,因此在更新物體在屏幕的位置時,不僅要轉換為屏幕的坐標,還需要除以100,例:cara._x=v1/danwei/100 +cara._x.靈活調整這兩個參數,可以調節動畫的快慢.

2 按鈕防誤按設計

為動畫設置播放、暫停、停止按鈕,可使動畫隨時可控,便于觀察.在按鈕的設置中,為避免重復按同一個按鈕導致程序出錯,可進行如下設置:

if(sign!=3)//當按鈕標識變量不等于3時,運行程序

{按下按鈕運行的程序

sign=3;}//運行完程序后,將按鈕標識變量設置為3

else{break;}//再次點擊該按鈕時,由于sign=3,直接退出,不運行程序

對不同的按鈕設置不同的標識變量,便可以保證重復按同一按鈕無效,必須按了其他按鈕之后才能再次按本按鈕.

3 函數曲線的描繪

在演示物理運動時,往往需要用v-t圖像、E-t圖像來輔助理解,下面將介紹使用Flash來描繪函數圖像的方法[3,4].

3.1 描點程序介紹

第一部分:

_root.createEmptyMovieClip("pointv1", 1);//系統自動新建一個名為pointv1的空白影片剪輯

pointv1.lineStyle(2,0xff0000,100); //設置線條的顏色,可在flash的顏色面板中查看

pointv1.moveTo(245.35,545-5*yzuobiao);

//設置起始位置(x,y)

第二部分:

onEnterFrame = function () {//從進入界面開始不斷循環下面的描繪程序

pointv1.lineTo(245.35+t*xzuobiao,545-v1*yzuobiao); //描繪程序,描繪到下一時刻(x,y)的位置

}

將此程序放在第一幀的位置即可,如需要畫多條線段,可重復第一部分的設置,然后在第二部分的大括號內添加描繪程序.當演示程序運行時,線條便會自動出現.

清除函數圖像的函數是pointv1.clear(),可放在停止按鈕中.值得注意的是,為了再次運行能夠畫出圖像,需要在清除之后放置描點程序的第一部分和第二部分.

3.2 橫縱坐標的伸縮

由于相關的物理量都是用國際標準單位表示的,但呈現在屏幕中時,是按照Flash自帶的坐標系,故需要進行坐標的轉換.在賦值函數中,需要加入標識變量xzuobiao,yzuobiao,并在描繪程序中乘上該變量.通過改變該變量,便能實現函數圖像的伸縮.若有多個不同單位的物理量,還可以設置更多的標識變量.

整體框架如圖2和圖3所示.

圖2 有按鈕控制的整體框架

圖3 無按鈕自動循環播放的整體框架

如果要制作一個由按鈕控制的動畫,可按圖2的框架在對應位置放置相應的程序.彈簧振子的動畫效果如圖4動畫效果圖所示.如果要制作一個無按鈕控制自動循環播放的動畫,可按圖 3 無按鈕自動循環播放的整體框架的框架在對應位置放置相應的程序.

圖4 動畫效果圖

5 結語

通過使用setInterval()函數,可以非常簡易地用動畫演示由物理方程控制的物體運動,并通過變量“danwei”來調節運動的快慢.巧妙地利用if函數,可以實現由按鈕控制播放、暫停和停止,同時避免誤按.本文還提供了在Flash上描繪函數圖像的辦法.根據需要,可按不同框架搭建程序,既可由按鈕控制,也可以無按鈕控制自動循環.該制作動畫的方法可以非常方便地實現其他運動過程的演示,只需要改變運動程序的物理公式部分就行.

1 張靖.在Flash中實現文本框數據的存取.煤炭技術,2012,31(5)

2 李佩,張紅.對Flash動態文本和輸入文本的認識.硅谷,2010(3): 91

3 鐘子云.基于定時循環事件的動畫技術.計算機應用,2003(S2): 89~91

4 姚炯,沈小娟.物理課件中阻尼振動圖象的繪制.中國教育技術裝備,2008(18): 70~72

猜你喜歡
按鈕動畫程序
這些按鈕能隨便按嗎?
當你面前有個按鈕
做個動畫給你看
動畫發展史
我的動畫夢
文苑(2019年22期)2019-12-07 05:28:56
試論我國未決羈押程序的立法完善
人大建設(2019年12期)2019-05-21 02:55:44
“程序猿”的生活什么樣
英國與歐盟正式啟動“離婚”程序程序
環球時報(2017-03-30)2017-03-30 06:44:45
我是動畫迷
學生天地(2016年9期)2016-05-17 05:45:06
創衛暗訪程序有待改進
中國衛生(2015年3期)2015-11-19 02:53:32
主站蜘蛛池模板: 国产高清无码麻豆精品| 国产日本一线在线观看免费| 91探花在线观看国产最新| 3p叠罗汉国产精品久久| 国产本道久久一区二区三区| 亚洲成人在线免费观看| 日韩毛片免费观看| 看国产一级毛片| 亚洲一区二区日韩欧美gif| 91精品福利自产拍在线观看| h网站在线播放| 毛片在线看网站| 人妻精品全国免费视频| 精品人妻系列无码专区久久| 国产天天色| 欧美成人免费一区在线播放| 久久久久国产精品嫩草影院| 女人18毛片一级毛片在线| 久久大香伊蕉在人线观看热2| 国产成人久视频免费| 欧美高清国产| 一级毛片基地| 色婷婷电影网| 欧美亚洲一二三区| 国产经典在线观看一区| 国产亚洲成AⅤ人片在线观看| 国产精品区视频中文字幕| 欧美精品在线观看视频| 好久久免费视频高清| 久久精品国产国语对白| 色婷婷成人网| 中文字幕2区| 在线亚洲小视频| 久久久久亚洲av成人网人人软件 | 国产成人亚洲综合A∨在线播放| 亚洲欧州色色免费AV| 福利在线不卡一区| 亚洲一区二区约美女探花| 极品性荡少妇一区二区色欲 | 久久午夜夜伦鲁鲁片不卡| 第一页亚洲| 超清无码一区二区三区| 亚洲无码91视频| 欧美午夜理伦三级在线观看| 黑人巨大精品欧美一区二区区| 精品视频91| 91在线播放国产| 中文字幕资源站| 狠狠色成人综合首页| 国产欧美在线| 国产原创演绎剧情有字幕的| 国产欧美精品专区一区二区| 日韩精品亚洲人旧成在线| 亚洲精品桃花岛av在线| 久久久久88色偷偷| 青青青视频免费一区二区| 国产网友愉拍精品视频| 亚洲欧美在线综合一区二区三区| 2022国产91精品久久久久久| 99精品国产电影| 毛片大全免费观看| 97影院午夜在线观看视频| 91在线免费公开视频| 女人18毛片水真多国产| 乱系列中文字幕在线视频| 久久久久无码国产精品不卡| 亚洲高清中文字幕| 伊人婷婷色香五月综合缴缴情| 美女被操黄色视频网站| 91精品国产一区| 日本一区二区不卡视频| 波多野结衣的av一区二区三区| 国产成人一区免费观看| 国产成人资源| 国产乱子伦视频在线播放| 中文字幕日韩久久综合影院| 综合色天天| 伊人久热这里只有精品视频99| 国产成人一区免费观看| 日韩中文精品亚洲第三区| 日本免费高清一区| 国产系列在线|