动态网站制作指南



当前位置 > 网站建设学院 > 图形图象 > Flash教程 Rss

Flash CS4:制作扑克牌简易翻转的三维效果


发表日期:2009-11-1


  本例主要在前面所学3维编程知识的基础上进一步巩固和熟悉rotation与Z轴的使用,以及它们的结合使用。通过本例的制作,来加强前面所学知识的理解,并学习如何配合使用达到更好效果,用简单的方法创作很酷的三维效果,在结合创作中加深理解应用。



本例思路:<1> 创建实例背景。
<2> 绘制牌的正面和反面并转换为图形元件。
<3> 创建一个牌的容器,转换为元件类“Card”,将正反面牌分别放置于第1、2帧。
<4> 创建文档类,控制扑克牌对象的rotationY属性。
实例步骤:(1)新建一个空白文档,舞台大小设置为500*250,帧频设置为120,绘制一个与舞台大小同样大小的矩形,并填充放射状渐变色,设置第一色标颜色为(R:0,G:246,B:93)Alpha: 100%,设置第二色标颜色为(R:0,G:131,B:49)Alpha: 100% ,设置第三色标颜色为(R:0,G:62,B:23)Alpha: 100% ,如下图15-1所示。


         图15-1  绘制背景

(2)使用“渐变变形工具”进行调整高光位置和渐变分布模式,如下图15-2 所示。


        图15-2  渐变调整

(3)分别创建两个图形元件,命名为“back”和“9”。简单绘制扑克牌“9”的正反面,注册点在中心位置且大小必需相同,如下图15- 3所示。


          图15-3  扑克牌正反面

(4)新建一个影片剪辑,命名为“Card” ,命名元件类名也为“Card”,如图3-所示。将上面步骤中创建的扑克牌“9”的正反面分别放置于第1、2帧处正中心位置,如下图15-4所示。


         图15-4 创建“Card”对象

(5)创建文档类Main类,如图3-所示,首先创建一个牌的容器“container”,并将其放置于舞台中心位置,如构造函数第20到23行代码所示,然后创建扑克牌容器对象并添加到容器“container”中,如第25、26行代码所示,并将扑克牌容器对象停止播放(也就是停留在第1帧)、启动按钮模式和注册侦听器函数,如第27到29行代码所示。 

package      

{     

    import Flash.display.*;     

    import flash.events.*;     

    import caurina.transitions.Tweener;     

    /**    

     * ...    

     * @author lbynet (Tools -> Custom Arguments...)    

     */    

    public class Main extends SPRite {     

             

        private var container:Sprite;     

        private var pane:MovieClip;     

        private var isback:Boolean;     

        private var currentPlane:MovieClip;     

        private var currentRotationY:Number;     

             

        public function Main():void {     

                 

            container = new Sprite();     

            container.x=stage.stageWidth/2;     

            container.y=stage.stageHeight/2;     

            addChild(container);     

                 

            pane = new Card();     

            container.addChild(pane);     

            pane.stop();     

            pane.buttonMode=true;     

            pane.addEventListener(MouseEvent.CLICK, onClick);     

        }  

(6)当扑克牌容器对象被单击时调用onClick侦听器函数,为stage注册事件侦听来控制何时切换为正面或是反面,通过判断变量isback 来重新设置被单击扑克牌的rotationY属性,如第36到44行代码所示,在第38、42行代码,通过Tweener 来切换扑克牌的rotationY值在0与-180度之间,如下原理图15-5 所示。


图15-5  文档类

private function onClick(event:MouseEvent):void {     


        stage.addEventListener(Event.ENTER_FRAME, enterFrameHandler);     

        currentPlane = MovieClip(event.currentTarget);     

        if (isback) {     

                 

            Tweener.addTween(currentPlane, { rotationY:0,time:1 } );     

            //Tweener.addTween(currentPlane, { z:0,time:1 } );     

        } else {     

                 

            Tweener.addTween(currentPlane, { rotationY:-180,time:1 } );     

            //Tweener.addTween(currentPlane, { z:-200,time:1 } );     

        }     

        isback = ! isback;     

    }     

    private function enterFrameHandler(event:Event):void {     

             

        currentRotationY = currentPlane.rotationY;     

        if (currentRotationY >= -90 && currentRotationY <= 10) {     

                 

            if (isback) {     

                currentPlane.gotoAndStop(2);     

            } else {     

                currentPlane.gotoAndStop(1);     

            }     

            stage.removeEventListener(Event.ENTER_FRAME, enterFrameHandler);     

            trace("已清除事件侦听");     

        }     

             

    }     

         

         

}     

(7) 当用户单击扑克牌容器对象,在第34行代码中注册的侦听器后,执行侦听器函数enterFrameHandler ,并通过时时判断扑克牌容器对象的rotationY的值来判断扑克牌容器对象要切换跳转到哪一帧,如第50到59行代码所示,最后,清除无用的侦听器,如第57行代码所示。
(8)把onClick侦听器函数中第39、43两行代码放开,发布测试,当用户单击扑克牌容器对象后,扑克牌切换翻转并放大(其实际是对象的z轴值减小),如下图3- 所示,当再次单击后,扑克牌切换翻转并缩小致原始状态。

>>出自《Flash CS4动画设计与制作208例》(转载请保留出处)
关注此文的读者还看过:
·2012-2-9 8:11:59 [视频教程]Flash 8 AS轻松入门 54
·2012-2-9 8:11:41 Flash AS代码编写国庆主题图案焰火动画
·2012-2-9 8:09:09 [视频教程]Flash 8 AS轻松入门 2
·2012-2-9 8:08:47 [视频教程]Flash 8 AS轻松入门 24
·2012-2-9 8:05:11 [视频教程]Flash 8 AS轻松入门 66
·2012-2-9 8:03:41 [视频教程]Flash 8 AS轻松入门 12
·2012-2-9 8:03:30 [视频教程]Flash 8 AS轻松入门 13
·2012-2-9 8:03:29 [视频教程]Flash 8 AS轻松入门 22
·2012-2-9 8:02:12 Flash AS3.0菜鸟学飞教程:帧循环学习实例
站长推荐 PS笔刷下载 在线翻译 系统进程 广告代码
  发表评论
姓 名: 验证码:
内 容:
教程搜索服务
项目外包信息
·设计外包(限杭州本地设计师)
·Discuz论坛二次开发首页
·找长期合作的网页设计师(切图+
·SNS 网站开发
·云南大蓄文化传播有限公司网站设
·药品代购网站
·FLASH网站汉化
·求高手帮我设计一个减肥产品网站
·flash首页制作(已有设计图)
·寻求长期外包人员
·网页页面修改
·北京地区 flash动画合作
·佛山网站建设+263企业邮箱找我。
·ecshop+Discuz! X2+ Home会员整
·寻找网站建设团队或者个人合伙
发布信息 浏览信息
邮件订阅服务
输入你的邮件地址,你将不会错过任何关于<Flash教程>的内容


图形图象文章分类
Photoshop教程
Fireworks教程
Coreldraw教程
Flash教程
3Dmax教程
Maya教程
Director教程
Authorware教程
AutoCAD教程
Illustrator教程
Ulead教程
相关软件
Silverlight
站长工具:Google PR查询|Alexa排名查询|网站速度测试|CSS在线编辑器|OPEN参数生成器|弹出式窗口代码产生器|密码登录生成器|在线按钮生成器|Meta标签生成器|邮箱图标在线生成|多色彩特效字代码生成器|网页代码调试器|在线FTP登陆|Flash取色器|配色代码对照表|配色辞典|CSS生成器|CSS在线压缩|广告代码|框架网页代码生成器|js/vbs加密|md5加密|进制转换|UTF-8 转换工具|在线调色板|Html转换js|Html转换asp|Html转换php|Html转换perl
实用工具:汉字翻译拼音|拼音字典|在线翻译|天气预报|火星文|在线网速测试|符号对照表|个税计算|理财工具|黄金价格|购房银行按揭利率计算|汇率查询|经典小工具|汉字简繁转换|普通单位换算|公制单位换算|生辰老黄历|国内电话区号|国家代码与域名缩写|文字加密解密|元素周期表|健康查询|世界时间|全国各地车牌查询|全国车辆交通违章查询|万年历|二十四节气|汉字横竖排版|手机号码查询|计算器|ip搜索
广告刊登 | 版权声明 | 联系我们 | 加入收藏 | RSS订阅
Copyright © 2000-2012 www.knowsky.com All rights reserved | 沪ICP备05001343号