<dfn id="w48us"></dfn><ul id="w48us"></ul>
  • <ul id="w48us"></ul>
  • <del id="w48us"></del>
    <ul id="w48us"></ul>
  • 制作3D旋轉動畫效果Flash教程

    時間:2024-05-26 22:59:44 動畫設計 我要投稿
    • 相關推薦

    制作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怎么制作圍繞中心旋轉的文字動畫效果07-04

    flash怎么給圖片制作伸縮動畫效果09-13

    PS制作3D火焰效果教程06-04

    flash怎么制作動畫08-20

    flash動畫的詳細制作流程10-01

    flash動畫制作的廣告優勢05-09

    Flash動畫制作學習的心得08-01

    flash動畫制作流程簡介10-07

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

    flash動畫制作有什么技巧09-13

    主站蜘蛛池模板: 亚洲av无码成人精品区在线播放| 日韩经典精品无码一区| 婷婷五月深深久久精品 | 一区二区三区国产精品| 99RE6热在线精品视频观看| 亚洲动漫精品无码av天堂| 日韩国产成人精品视频| 精品国产一区二区三区久久久狼| 精品欧洲av无码一区二区| 国产精品美女久久久| 国产精品香蕉在线观看| 在线精品亚洲一区二区三区| 国产精品特级毛片一区二区三区| 桃花岛精品亚洲国产成人| 蜜臀av无码人妻精品| 99久久人妻无码精品系列| 狠狠精品干练久久久无码中文字幕| 尤物yw午夜国产精品视频| 2021国产精品视频| 欧美亚洲国产成人精品| 亚洲爆乳无码精品AAA片蜜桃| 国产成人精品久久免费动漫| 精品国产午夜肉伦伦影院| 精品综合久久久久久888蜜芽| 国产亚州精品女人久久久久久| 久久国产精品99国产精| 精品精品国产欧美在线小说区| 国产精品视频永久免费播放| 国产精品综合专区中文字幕免费播放| 少妇人妻精品一区二区三区| 国产一区麻豆剧传媒果冻精品| 18国产精品白浆在线观看免费| 日韩蜜芽精品视频在线观看| 国产亚洲综合成人91精品| 国产精品青草久久久久福利99 | 无码人妻精品一区二区三区66| 99精品人妻少妇一区二区| 国产精品揄拍100视频| 亚洲线精品一区二区三区影音先锋| 国产精品v欧美精品v日本精| 99精品一区二区三区无码吞精|