艺虎动画 > flash动画制作实例教程:扑克牌的旋转效果

flash动画制作实例教程:扑克牌的旋转效果

翼虎动漫   2010-7-30

 

 

 

1.素材:准备几张图片,图片大小110×156。我这里用了8张,7张不同的正面和1张背面。
2.新建Flash文件(ActionScript3.0),将图片导入到库中。
3.在库中新建7个影片剪辑,每个影片剪辑设置两个空白关键帧,分别拖入一张正面和一张背
面图,正面和背面在第几帧可随意设置。
4.将7个影片剪辑拖入主场景,分别命名为m1,m2,……m7,位置随便。
5.在主场景第一帧添加以下代码:

var i:int;

//设置旋转中心点

var wx:Number=275;

var wy:Number=200;

//设置旋转长短半径

var xr:uint=200;

var yr:uint=30;

//设置旋转速度

var A:Number=0;

var speed:Number=0.002;

var sA:Number=0.9;

//将影片剪辑放入数组

var pais:Array=[m1,m2,m3,m4,m5,m6,m7];

addEventListener(Event.ENTER_FRAME,onEnterFrame);

function onEnterFrame(event:Event):void {

        var xm:Number=mouseX;

        var dx:Number = (xm-wx)/12*speed;

        for (i=0; i<7; i++) {

                //设置缩放比例

                var sx:Number=.2+.8*Math.cos(A+sA*i);

                var sy:Number = .7+.3*Math.abs(Math.cos((A+sA*i)/2));

                //当图片转到两边时跳转帧,显示另一面

                if (sx>0) {

                        pais[i].gotoAndStop(1);

                        //设置深度,使其在唐老鸭的前面

                        setChildIndex(pais[i], 4);

                } else {

                        pais[i].gotoAndStop(2);

                        //设置深度,使其在唐老鸭的后面

                        setChildIndex(pais[i], 0);

                }

                //旋转路径

                pais[i].x=Math.sin(A+sA*i)*xr+wx;

                pais[i].y=Math.cos(A+sA*i)*yr+wy;

                //缩放比例

                pais[i].scaleX=sx;

                pais[i].scaleY=sy;

        }

        A+=dx;

}

6.效果,这里加了一个唐老鸭的背景:

http://img.flashzhizuo.net.cn/us/2010730125447574.swf

源文件附件下载:扑克牌的旋转.rar