怎样用Flash CS4制作扑克牌切换效果
本例思路:
<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行代码所示。
AS3代码
package
{
import lay.*;
import ts.*;
import ner;
/**
* ...
* @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=eWidth/2;
container.y=eHeight/2;
addChild(container);
pane = new Card();
hild(pane);
();
onMode=true;
ventListener(K, onClick);
}
(6)当扑克牌容器对象被单击时调用onClick侦听器函数,为stage注册事件侦听来控制何时切换为正面或是反面,通过判断变量isback 来重新设置被单击扑克牌的rotationY属性,如第36到44行代码所示,在第38、42行代码,通过Tweener 来切换扑克牌的rotationY值在0与-180度之间,如下原理图15-5 所示。
AS3代码
private function onClick(event:MouseEvent):void {
ventListener(R_FRAME, enterFrameHandler);
currentPlane = MovieClip(entTarget);
if (isback) {
ween(currentPlane, { rotationY:0,time:1 } );
//ween(currentPlane, { z:0,time:1 } );
} else {
ween(currentPlane, { rotationY:-180,time:1 } );
//ween(currentPlane, { z:-200,time:1 } );
}
isback = ! isback;
}
private function enterFrameHandler(event:Event):void {
currentRotationY = tionY;
if (currentRotationY >= -90 && currentRotationY <= 10) {
if (isback) {
AndStop(2);
} else {
AndStop(1);
}
veEventListener(R_FRAME, enterFrameHandler);
trace("已清除事件侦听");
}
}
}
图15-5 文档类
(7) 当用户单击扑克牌容器对象,在第34行代码中注册的侦听器后,执行侦听器函数enterFrameHandler ,并通过时时判断扑克牌容器对象的rotationY的值来判断扑克牌容器对象要切换跳转到哪一帧,如第50到59行代码所示,最后,清除无用的侦听器,如第57行代码所示。
(8)把onClick侦听器函数中第39、43两行代码放开,发布测试,当用户单击扑克牌容器对象后,扑克牌切换翻转并放大(其实际是对象的z轴值减小),如下图3- 所示,当再次单击后,扑克牌切换翻转并缩小致原始状态。
-
[经典]实用的制作的作文300字6篇
在日复一日的学习、工作或生活中,大家都尝试过写作文吧,写作文可以锻炼我们的独处习惯,让自己的心静下来,思考自己未来的方向。怎么写作文才能避免踩雷呢?下面是小编为大家整理的制作的作文300字6篇,仅供参考,希望能够帮助到大家。制作的作文300字篇1我的小制作——漂...
-
实用的小制作的作文8篇(必备)
在我们平凡的日常里,大家对作文都不陌生吧,作文是由文字组成,经过人的思想考虑,通过语言组织来表达一个主题意义的文体。相信写作文是一个让许多人都头痛的问题,以下是小编为大家整理的小制作的作文8篇,希望对大家有所帮助。小制作的作文篇1回到家里,我绞尽脑汁还是想...
-
制作的作文300字(共5篇)
无论是在学校还是在社会中,大家都跟作文打过交道吧,作文是从内部言语向外部言语的过渡,即从经过压缩的简要的、自己能明白的语言,向开展的、具有规范语法结构的、能为他人所理解的外部语言形式的转化。你知道作文怎样写才规范吗?以下是小编为大家收集的制作的作文30...
-
(热)我的小制作的作文9篇
在我们平凡的日常里,大家或多或少都会接触过作文吧,作文一定要做到主题集中,围绕同一主题作深入阐述,切忌东拉西扯,主题涣散甚至无主题。相信很多朋友都对写作文感到非常苦恼吧,以下是小编帮大家整理的我的小制作的作文9篇,仅供参考,欢迎大家阅读。我的小制作的作文篇1...