as3 flash游戏制作 纸牌效果 -欧洲杯比赛网址

 as3 flash游戏制作 纸牌效果 -欧洲杯比赛网址
originality | august 04

as3 flash游戏制作 纸牌效果

并在第一帧加上以下代码:

本示例中用了18张,本示例在cs4中用as3编程测试通过。制作这个效果需要准备几张纸牌正面图片。一张背面图片,下面说一下制作步骤:

库中新建19个影片剪辑,  新建flash文件(actionscript3.0设置舞台长宽为600400图片导入到库中。分别命名为pp0p1p2p17其中p为引导牌,p中画一个矩形,大小与纸牌相同,右对齐、上下居中对齐。p0中第一帧拖入一张纸牌正面,写上代码stop;第二帧拖入纸牌背面,都是右对齐、上下居中对齐。p1---p17依次类推。

实例名称也定义为pp0p1p2p17注意拖放顺序!p随便找个地方,  将影片剪辑pp0p1p2p17依次拖入舞台。就放在舞台外面吧,并且设置透明度为0使其不可见。p0---p17按下图依次排列放好。

var k:int;

var oldx:number=0;

//将纸牌放入数组

var ps:array=[p0,p1,p2,p3,p4,p5,p6,p7,p8,p9,p10,p11,p12,p13,p14,p15,p16,p17];

stage.addeventlistener(mouseevent.mouse_down,onmousedown);

stage.addeventlistener(mouseevent.mouse_up,onmouseup);

function onmousedown(e:mouseevent):void {

        stage.addeventlistener(mouseevent.mouse_move,onmousemove);

}

function onmousemove(e:mouseevent):void {

        if (mousex>oldx) {//当鼠标向右移时

                k=1;

        } else {//当鼠标向左移时

                k=-1;

        }        

        if(k==1){

            p.rotationy-=2;/*p是引导牌,按2°递增,

                当引导牌旋转时,第一张牌同时旋转,其他

                牌每隔10°开始旋转,180°时停止旋转*/

            for(var i:int=0;i<18;i ){

                if(p.rotationy<=-10*i){

                        ps[i].rotationy-=2;

                            if(ps[i].rotationy<-180){

                                    ps[i].rotationy=-180;

                        }

                                //当旋转90°时显示另一面,并改变深度

                    if(ps[i].rotationy<-90){

                            setchildindex(ps[i],17-i);

                                        ps[i].gotoandstop(2);

                    }                                

                }

            }

            if(p.rotationy<-180){

                    p.rotationy=-180;

            }        

        }

        //反向旋转时

        if(k==-1){

            p.rotationy =2;

            for(i=17;i>=0;i--){

                if(p.rotationy>=10*(17-i)-180){

                        ps[i].rotationy =2;

                            if(ps[i].rotationy>0){

                                    ps[i].rotationy=0;

                        }

                    if(ps[i].rotationy>-90){

                            setchildindex(ps[i],i);

                                        ps[i].gotoandstop(1);

                    }                                

                }

            }

            if(p.rotationy>0){

                    p.rotationy=0;

            }        

        }

        oldx=mousex;

}

function onmouseup(e:mouseevent):void {

        stage.removeeventlistener(mouseevent.mouse_move, onmousemove);

 

}

好了可以测试了下面的附件中提供了一些纸牌的图片,}<好了可以测试了下面的附件中提供了一些纸牌的图片。供有兴趣的朋友练习之用,eps格式解压后在illustrat中打开全选复制,然后在flash中粘贴。粘贴过来后注意按ctrl g键组合,否则对齐时将拧成一团。

附件下载:


网站地图