Flash制作模擬機械波動畫制作教程_Flash教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      推薦:Flash制作個性漂亮的蜻蜓菜單
      畫面與程序完全原創(chuàng)哦。效果如下:菜單介紹:芳草青青,上面落著一只小蜻蜓。當(dāng)你的鼠標(biāo)移向某個按鈕時,蜻蜓就會快速向你飛了過來,并緩緩地停在那里。當(dāng)你

        本人是一名高中物理教師,來閃吧也有一段時間了,雖然斷斷續(xù)續(xù),也算學(xué)習(xí)了一些東西,這里先要感謝各位閃友了。在前一段時間我試做了一個模擬機械波的動畫,自我感覺還可以(各位別笑我),我百度了一下,似乎還沒有相關(guān)教程,也想練筆寫一個看看,一是為了感謝閃吧,二是獻給還在起跑線的各位閃友,非凡是高中物理教師,希望各位能更快的進入flash的美妙殿堂,這是我第一次寫,如有不足之處,還望見諒,廢話少說,下面正式開始。

      點擊這里下載源文件(源文件)

      點擊這里下載源文件 (源文件)

        一.思路分析

        從機械波的形成過程來看,它是由于振動質(zhì)點通過相互作用力帶動與之相鄰的質(zhì)點,通過相鄰的點把振動形式傳播出去從而形成機械波,這樣就必須解決兩個問題:

        1、每一個質(zhì)點都按照y=Acos(ωt φ)的規(guī)律振動

        2、不是所有的點都同時開始動的,他們有一定的相位差,靠近波源的點先振動。

        二、實現(xiàn)方法

        這里我只介紹橫波的模擬動畫。要使得質(zhì)點振動,我們只需使它的y方向的位移按規(guī)律y=Acos(ωt φ)變化即可,可以用這樣的語句實現(xiàn)

      this._y=y0 r*Math.cos(j*Math.PI/180 m)

        說明:y0是平衡位置的y坐標(biāo),所有點的y0都是一樣的,ω寫成Math.PI/180,是把角度換成弧度制,

        三.制作步驟

        1、繪制質(zhì)點小球(電影剪輯)。

        進入主場景,選中橢圓工具,設(shè)置漸變色,如圖1,按住Ctrl鍵和鼠標(biāo)左鍵,在主場景中畫出一個小球。

      Flash制作模擬機械波動畫制作教程

        選中小球,單擊鼠標(biāo)右鍵,選擇[轉(zhuǎn)換為元件】(或按F8),在彈出的對話框中選擇影片剪輯,注冊點選在中間,單擊【確定】按鈕把小球轉(zhuǎn)換為電影剪輯如圖2

      Flash制作模擬機械波動畫制作教程

      選中小球,打開右下角的它的屬性面板,命名為my_mc如圖3

      Flash制作模擬機械波動畫制作教程

        2.實現(xiàn)小球的運動

        選中小球,打開下方的動作面板,輸入腳本, 如圖4

      Flash制作模擬機械波動畫制作教程

        下面我把這段代碼作簡單解釋:

        onClipEvent (load) {}表示當(dāng)剪輯顯示在時間軸上時,k、r、y0被初始化,其中k的初始化可能會比較難理解,它是把該電影剪輯的名字作為它的值的,而它的名字到底又是什么呢?后面會講到,它的名字實際上分別是0到N的整數(shù),這樣做的目的何在呢?請往下看:

        onClipEvent (enterFrame) {}是當(dāng)剪輯顯示在時間軸上后,一直重復(fù)做的事情

        那就是k不斷被減2(可以任意數(shù)),再用一個if語句判定,假如k<=0成立,開始執(zhí)行語句this._y = y0 r*Math.sin(k*1.5*Math.PI/180)使小球運動起來,大家可以發(fā)現(xiàn),k越小,越快滿足k<=0,也就先動起來,那么我們思路分析中的第二點就可以實現(xiàn)了,所以接下來的問題是給各個質(zhì)點命名了

        3、復(fù)制小球。

        回到主場景,新建一個層命名為Action,如圖5

      Flash制作模擬機械波動畫制作教程

        選中該層的第一幀,打開動作面板,寫入代碼,如圖6

      Flash制作模擬機械波動畫制作教程

        可以看得出,該代碼所復(fù)制出來的電影剪輯的名稱分別是從0到50的數(shù),這下大家明白了吧,

        4、哈哈,現(xiàn)在你可以試一試你的成果了,Ctrl Enter一下,還滿足嗎?

        5、實現(xiàn)控制

        要實現(xiàn)對以上機械波的簡單控制,,必須把代碼改一下:

      (1)、把onClipEvent (enterFrame) {}的代碼改為

      onClipEvent (enterFrame) {
      if (_parent.c == 0) {
      if (k<=0) {
      this._y = y0 r*Math.sin(k*1.5*Math.PI/180);
      }
      k=k- 2;
      }
      }

        可見只是多了一個判定,判定只有滿足c == 0,才會執(zhí)行代碼k=k-2,才會產(chǎn)生小球的運動,c自然就在按鈕上賦值了。

        (2)、再新建一個層,從庫中拖入兩個按鈕放在該層,我們可以在【開始】按鈕上加上語句on (release) {c=0},在【暫停】按鈕上加上語句on (release) {c=1}。

        至此,基本完成了,縱波?差不多的啦。最后奉上本教程源程序以及另一個包含縱波的功能相對齊全的機械波源碼,供參考。

      分享:學(xué)習(xí)AS3:delete關(guān)鍵字和類成員
      delete要害字在Flash中是用來刪除定義的變量,但是并不將對象從內(nèi)存中清除掉(這是垃圾收集器的工作)。它只是將一個變量的引用設(shè)置成無效,讓內(nèi)存中的這個對象

      /所屬分類:Flash教程/更新時間:2008-03-05
      相關(guān)Flash教程