| 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<n; 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<iconCount; 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 文档保存在同一目录下,进行测试。
讨论: http://www.missyuan.com/viewthread.php?tid=417566
情非得已
Flash CS4教程:制作调入式声音控制的按钮2009-10-22
Flash CS4教程:详细解析抓喜庆游戏教程2009-10-13
Flash AS3.0教程:制作3D旋转动画效果2009-09-01
FLASH和AE如何将做好的动画导出GIF图片
相关文章26352016-12-20
Flash详细解析制作出的动画如何导出GIF
相关文章94122015-10-12
Flash教你如何制作蝙蝠在月夜里飞翔
相关文章218902014-03-22
Flash制作可爱吹泡泡动画效果教程
相关文章154212014-03-22
Flash教你制作悠闲来喝茶动画教程
相关文章56682014-03-22
Flash制作一幅诗意的水墨卷轴展开的动画
相关文章71862014-03-22
Flash制作有趣的亲嘴猪动画教程
相关文章76312014-03-22
Flash制作可爱的小兔子跷跷板动画
相关文章101112014-03-22
