Flash動畫—單擺的制作教程_Flash教程

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

      推薦:Flash動態緩沖圖片導航制作詳解
      緩沖公式在制作特效中非常有用,聞名的三星導航菜單就用到了此公式。現在許多網站出盡風頭,其中緩沖導航是其一大亮點。本文以一德國網站的導航為例,詳解緩沖

        想起當初作這個動畫時,真是不知如何下手,所以,這是一篇獻給初學者的教程的單擺動畫的制作,應該要解決兩個方面的問題:

        一、單擺本身的制作,這一點只要用好flash的繪圖工具即可

        二、單擺振動,這一點將是教程的重點也是難點

        下面就先解決第一個問題,制作單擺(這一步的制作注重注冊點的選擇)首先要弄清,單擺有三部分組成:擺線、擺球、懸掛點(天花板)

        (一)、擺線:

        1、選取工具區的線條工具,線條粗細默認,在主場景按住Shifi鍵向下畫一條適當長度的線段。
      2、選中線段,右鍵—轉化為元件-影片剪輯,其參數按圖中設置,把它轉化為影片剪輯

        (二)、擺球:

        1、選取工具區的橢圓工具,按住Shifi鍵,在主場景畫出一個圓,

        2、打開主場景右邊的選項欄,選擇顏色-混色器,設置如圖,

        為擺球選擇一種填充色(當然你也可以在左邊的顏色選取區選擇),選擇工具選取區的油漆桶工具,為擺球填色

        3、選中小球,右鍵—轉化為元件-影片影剪輯,其參數按圖中設置,把它轉化為影片剪輯

        4、為它加點效果吧:選中小球,打開工作區下方的濾鏡選項(flash8.0),加點投影效果,設置如圖

        效果如圖

        (三)懸掛點(天花板thb)

        選取工具區的線條工具,線條粗細默認,在主場景按住Shifi鍵水平畫一條適當長度的線段作為天花板,同樣按住Shifi鍵畫一條斜向的線段,利用復制、粘貼功能,作出許多斜線,組合成天花板的示意圖,選中這些線段,右鍵—轉化為元件-影片剪輯,其參數按圖中設置,

        把它轉化為影片剪輯,效果如圖,

        至此,基本的元件制作完成,接下來是組合單擺了:

        1、刪除主場景中的所有元件,在第一幀先拖人擺線,再拖人擺球(目的是讓擺球在擺線上層),調整位置,并在其屬性欄中分別命名為bq、bx,如圖

        2、同時選中擺線、擺球,右鍵—轉化為元件-影片剪輯,其參數按圖中設置,把它轉化為影片剪輯,做成單擺,

        再把天花板元件拖入,組成完整的單擺,效果如圖

        單擺的制作到此結束(喝口水先)

        接下來解決第二個問題,讓單擺動起來

        這里要用到物理的單擺周期公式 和振動方程x=Acos(ωt α),但我們知道,單擺的振動實際是在一段圓弧上進行的,也就是說,在一段圓弧上運動同時其x要滿足振動方程x=Acos(ωt α),如何實現呢,先看一個圖

        物理學里有一個要求,那就是單擺擺動的圓心角不能太大,一般不超過10度,否則就不是簡諧運動,據此,我們處理的時候干脆把圓弧(BDC)當作直線(BOC)處理,好,要害步驟來了,從圖中可知,單擺擺過角度BAO時,水平方向的距離為BO,對應的角度b=arcsin(BO/AB),AB為擺長,x=BO,而這個就是單擺所要旋轉的角度,好了,我們可以為單擺加代碼了

        1、把單擺所在的層命名為單擺吧

        2、新加兩層。一層命名按鈕,用來放控制按鈕,一層命名As,在As層加入代碼

      //初始化:a0為初相,A為振幅,g為重力加速度
      a0 = 90;
      t = 0;
      A = 20;
      g = 9.8;
      //l為擺線的長度
      l = db.bx._height;
      //周期T為單擺的周期公式
      T = 2*Math.PI*Math.sqrt(l/g);
      //進入幀要執行的動作
      this.onEnterFrame = function() {
      //先作一個判定,假如m=1,再執行,這一步是為了控制他而作的
      if (m == 1) {
      //振動方程
      x = A*Math.cos(2*Math.PI*t/T a0);
      //用反三角函數算出旋轉的角度
      b = Math.asin(x/l);
      //每執行一次函數,t加0.5(經驗值)
      t = 0.5;
      //把單擺旋轉,由于反三角函數算出的是弧度,故把它轉換為角度
      db._rotation = b*180/Math.PI;
      }
      };

        這樣,測試時單擺肯定時不動的,因為m的值沒有定義,我們必須在按鈕層拖入兩個按鈕:窗口-公用庫-按鈕,自己選吧,在控制開始的按鈕上加入代碼

      on (press) {
      m = 1;
      }

        在控制停止的按鈕上加入代碼

      on (press) {
      m = 0;
      }

        大功基本構成,附上源文件

      點擊這里下載源文件

        但實際上我們還希望能改變其擺長L,改變g,這時我們可以再作一個可移動的按鈕,這里我不想羅嗦了,直接從庫里拖一個出來就夠了:窗口-公用庫-按鈕,自己找吧(我選的是fader – round按鈕),把他們放在按鈕層,這時這個按鈕已在我們源文件的庫中有了,選中它,點右鍵—直接復制,復制出另一個,也拖人按鈕層,這時,我們就有了兩個可以移動的按鈕,用來改變L和g,由于我選的是fader – round按鈕,它有一個標簽,雙擊按鈕,進入改變其標簽名,結果如圖

        還沒有完,因為他們都沒有名字呢,選中L按鈕,在屬性欄命名為lk(控制L的意思),雙擊lk按鈕,進入下一層,看其屬性,你會發現滑塊是有名字的,如我選的是fader – round按鈕,滑塊名為knob,改為lk0好了同理,選中g按鈕,命名為gk(控制g的意思),雙擊gk按鈕,進入下一層,選中滑塊改為gk0,快了,別忘了,改你的代碼哦

      //初始化
      a0 = 90;
      t = 0;
      A = 20;
      m = 0;
      db._rotation = 0;
      this.onEnterFrame = function() {
      //把控制按鈕lk中的lk0按鈕的y坐標+80作為擺長變化的百分比,由于lk0按鈕的y坐標初時值是0,故加80,否則開始擺長就為0了
      l = lk.lk0._y 80;
      //把db中的bx電影剪輯在其y方向上伸縮L倍
      db.bx._yscale = l;
      //把擺線的長度賦值給h
      h = db.bx._height;
      //擺球的位置也相應變化,其位置應該在擺線的注冊點往下+擺線的長度的地方
      db.bq._y = h db.bx._y;
      //把控制按鈕gk中的gk0按鈕的y坐標+9.80作為g,由于gk0按鈕的y坐標初時值是0,故加9.80,使其初始值為9.80,否則開始g就為0了
      g = gk.gk0._y/10 9.8;
      //單擺的周期公式
      T = 2*Math.PI*Math.sqrt(l/g);
      //假如m=1執行
      if (m == 1) {
      //振動方程
      x = A*Math.cos(2*Math.PI*t/T a0);
      //用反三角函數算出位移為x對應旋轉的角度
      b = Math.asin(x/l);
      //時間改變
      t = 0.5;
      //把單擺旋轉b*180/Math.PI,原因是b是弧度制的,把它化成角度制
      db._rotation = b*180/Math.PI;
      }
      };

      分享:Photoshop與Flash合作制作模糊漸變動畫
      在一些片頭動畫里我們經常能看到很炫的模糊效果,極具視覺沖擊。高質量的模糊效果大多利用Photoshop處理后才導入flash中進行制作。其實,在Flash中也可以利用其

      /所屬分類:Flash教程/更新時間:2008-03-05
      相關Flash教程