马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
您是否有着精彩的Flash作品,您是否想把他转化为屏保程序。
Poluoluo中心提醒:本例次要在后面所学3维编程常识的基本长进一步牢固和熟习rotation与Z轴的利用,和它们的分离利用。经由过程本例的制造,来增强后面所学常识的了解,并进修怎样共同利用到达更好效果,用复杂的办法创作很酷的三维效果,在分离创作中加深了解使用。
本例次要在后面所学3维编程常识的基本长进一步牢固和熟习rotation与Z轴的利用,和它们的分离利用。经由过程本例的制造,来增强后面所学常识的了解,并进修怎样共同利用到达更好效果,用复杂的办法创作很酷的三维效果,在分离创作中加深了解使用。
[media=wmv,500,250][/media]
本例思绪:<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%,以下5-1所示。
5-1绘制背景
(2)利用“突变变形工具”举行调剂高光地位和突变散布形式,以下5-2所示。
5-2突变调剂
(3)分离创立两个图形元件,定名为“back”和“9”。复杂绘制扑克牌“9”的正不和,注册点在中央地位且巨细必须不异,以下5-3所示。
5-3扑克牌正不和
Poluoluo中心提醒:本例次要在后面所学3维编程常识的基本长进一步牢固和熟习rotation与Z轴的利用,和它们的分离利用。经由过程本例的制造,来增强后面所学常识的了解,并进修怎样共同利用到达更好效果,用复杂的办法创作很酷的三维效果,在分离创作中加深了解使用。
(4)新建一个影片剪辑,定名为“Card”,定名元件类名也为“Card”,如-所示。将下面步骤中创立的扑克牌“9”的正不和分离安排于第1、2帧处正中央地位,以下5-4所示。
5-4创立“Card”工具
(5)创立文档类Main类,如-所示,起首创立一个牌的容器“container”,并将其安排于舞台中央地位,如机关函数第20到23行代码所示,然后创立扑克牌容器工具并增加到容器“container”中,如第25、26行代码所示,并将扑克牌容器工具中断播放(也就是停止在第1帧)、启动按钮形式和注册侦听器函数,如第27到29行代码所示。
package
{
importflash.display.*;
importflash.events.*;
importcaurina.transitions.Tweener;
/**
*...
*@authorlbynet(Tools->CustomArguments...)
*/
publicclassMainextendsSprite{
privatevarcontainer:Sprite;
privatevarpane:MovieClip;
privatevarisback:Boolean;
privatevarcurrentPlane:MovieClip;
privatevarcurrentRotationY:Number;
publicfunctionMain():void{
container=newSprite();
container.x=stage.stageWidth/2;
container.y=stage.stageHeight/2;
addChild(container);
pane=newCard();
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度之间,以下道理5-5所示。
privatefunctiononClick(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;
}
privatefunctionenterFrameHandler(event:Event):void{
currentRotationY=currentPlane.rotationY;
if(currentRotationY>=-90&¤tRotationY<=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轴值减小),以下-所示,当再次单击后,扑克牌切换翻转并减少致原始形态。
>>出自《FlashCS4动画计划与制造208例》(转载请保存出处)
使用Flash创作的各个内容单元称为应用程序,即使它们可能只是很简单的动画。您也可以通过添加图片、声音、视频和特殊效果,构建包含丰富媒体的Flash应用程序。 |