1. <tt id="5hhch"><source id="5hhch"></source></tt>
    1. <xmp id="5hhch"></xmp>

  2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

    <rp id="5hhch"></rp>
        <dfn id="5hhch"></dfn>

      1. 制作3D旋轉動畫效果Flash教程

        時間:2022-10-06 14:07:55 動畫設計 我要投稿
        • 相關推薦

        制作3D旋轉動畫效果Flash教程

          本教程著重于代碼的編寫,版本AS 3.0。只要制作一個旋轉的3D球,圖形元件的制作不作講解,請參看有關教程。

          include "Math2.as"

          //圖片容器

          var menu:Sprite=new Sprite();

          //使圖標移動

          menu.x = 300;

          menu.y = 200;

          //注冊事件偵聽器

          menu.addEventListener(Event.ENTER_FRAME,moveMenu);

          this.addChild(menu);

          //橢圓在x 和y 軸上的截距

          var disx:Number = 200;

          var disy:Number = 10;

          //旋轉速度

          var speed:Number = 0;

          initMenu(5);

          function initMenu(n:int) {

          for (var i:int; i

          var mc:MovieClip = new IconMenu();

          //縮小圖標

          mc.scaleX = mc.scaleY = .5;

          menu.addChild(mc);

          }

          }

          //事件偵聽器函數

          function moveMenu(e:Event):void {

          //獲取圖標數

          var iconCount:int = menu.numChildren;

          //定義數組

          var depthArray:Array = new Array();

          //把360度平分

          var angle:Number = 360 / iconCount;

          for (var z:int; z

          //根據深度獲取圖標

          var mc:MovieClip = menu.getChildAt(z);

          //跳轉到不同幀,來顯示不同的圖標

          mc.gotoAndStop(z+1);

          //設置圖標的位置

          mc.x = cosD(speed + angle*z) * disx;

          mc.y = sinD(speed + angle*z) * disy;

          setProp(mc,"alpha");

          setProp(mc,"scaleX",.2,.7);

          setProp(mc,"scaleY",.2,.7);

          //保存圖標到數組

          depthArray[z] = mc;

          }

          //重新設置圖標的深度

          arrange(depthArray);

          speed += 2;

          }

          function arrange(depthArray:Array):void {

          //按照y坐標排序

          depthArray.sortOn("y", Array.NUMERIC);

          var i:int = depthArray.length;

          while (i--) {

          menu.setChildIndex(depthArray[i], i);

          }

          }

          function setProp(mc:MovieClip,prop:String,n1:Number = .5, n2:Number = 1):void {

          mc[prop] = ((mc.y + 2 * disy) / disy - 1) / 2 * (n2 - n1) + n1;

          }

          5、新建.as文檔,保存名為:Math2.as (這個文檔是進行三角函數的計算)

          //角度轉弧度

          function angleToRadian(angle:Number):Number

          {

          return angle*(Math.PI/180);

          }

          //弧度轉角度

          function radianToAngle(radian:Number):Number

          {

          return radian*(180/Math.PI);

          }

          //計算正弦值

          function sinD(angle:Number):Number

          {

          return Math.sin(angleToRadian(angle));

          }

          //計算余弦值

          function cosD(angle:Number):Number

          {

          return Math.cos(angleToRadian(angle));

          }

          //計算反正切

          function atan2D(y:Number, x:Number):Number

          {

          return radianToAngle(Math.atan2(y, x));

          }

          把fla文檔與Math2.as 文檔保存在同一目錄下,進行測試。

        【制作3D旋轉動畫效果Flash教程】相關文章:

        flash怎么制作慢慢綻放的玫瑰花的動畫效果04-13

        flash動畫制作的發展前景12-27

        3D效果圖的制作要求和注意問題08-25

        3d效果圖一般制作步驟07-19

        Flash動畫設計的入門知識10-17

        傳統動畫設計與Flash動畫設計的區別09-05

        Flash動畫技巧:動畫中人物走路動作的規律12-07

        PS打造深秋效果的教程03-07

        3D醫學動畫的操作流程05-30

        動畫的制作流程10-13

        国产高潮无套免费视频_久久九九兔免费精品6_99精品热6080YY久久_国产91久久久久久无码

        1. <tt id="5hhch"><source id="5hhch"></source></tt>
          1. <xmp id="5hhch"></xmp>

        2. <xmp id="5hhch"><rt id="5hhch"></rt></xmp>

          <rp id="5hhch"></rp>
              <dfn id="5hhch"></dfn>