|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
Flash动画制作软件是一款可以帮助设计者制作和设计动画Flash介绍、Flash标识、Flash广告、Flash弹出菜单以及任何其它Flash动画的Flash文本效果工具。
poluoluo中心提醒:AS3.0实例:扭转菜单的制造.
演示:
[media=wmv,550,400][/media]
1、新建一个Flash文件,宽550高400像素,背景为玄色。保留文件。
2、用椭圆工具,画一个边框红色,添补为白色的27*27的圆形。:
3、按F8键,把圆形转换成影片剪辑,以下设置:。
4、按Ctrl+L组合键,翻开库双击Item影片剪辑进进编纂形态。锁定图层1,增加图层2。在圆形的中央增加一个静态文本。:
5、在属性面板中定名为“itemText”并输出一个数字,色彩为红色,巨细为14至17摆布。点击“字符嵌进”按钮,设置如:
6、效果。
7、新建一个ActionScript文件,编写一个名为“Item.as”的内部类文件。代码以下:
package{
importflash.display.MovieClip;
publicdynamicclassItemextendsMovieClip{
publicfunctionItem(){
}
}
}
保留在fla文件的统一目次下。
8、前往加入景1,在图层1的第一帧输出代码:
//Savethecentercoordinatesofthestage
varcenterX:Number=stage.stageWidth/2;
varcenterY:Number=stage.stageHeight/2;
//Thenumberofitemswewillhave(feelfreetochange!)
varNUMBER_OF_ITEMS:uint=15;
//Radiusofthemenucircle(horizontalandvertical)
varradiusX:Number=200;
varradiusY:Number=100;
//Angledifferencebetweentheitems(inradians)
varangleDifference:Number=Math.PI*(360/NUMBER_OF_ITEMS)/180;
//Howfastasinglecirclemoves(wecalculatethespeed
//accordingtothemousepositionlateron...)
varangleSpeed:Number=0;
//Scalingspeedofasinglecircle
varscaleSpeed:Number=0.0002;
//Thisvectorholdsalltheitems
//(thiscouldalsobeanarray...)
varitemVector:Vector.<Item>=newVector.<Item>;
//Thisloopcreatestheitemsandpositionsthem
//onthestage
for(vari:uint=0;i<NUMBER_OF_ITEMS;i++){
//Createanewmenuitem
varitem:Item=newItem();
//Gettheanglefortheitem(wespacetheitemsevenly)
varstartingAngle:Number=angleDifference*i;
//Setthexandycoordinates
item.x=centerX+radiusX*Math.cos(startingAngle);
item.y=centerY+radiusY*Math.sin(startingAngle);
//Savethestartingangleoftheitem.
//(WehavedeclaredtheItemclasstobedymamic.Therefore,
//wecancreatenewpropertiesdynamically.)
item.angle=startingAngle;
//Addanitemnumbertotheitem’stextfield
item.itemText.text=i.toString();
//Allownomousechildren
item.mouseChildren=false;
//Addtheitemtothevector
itemVector.push(item);
//Addtheitemtothestage
addChild(item);
}
//WeuseENTER_FRAMEtoanimatetheitems
addEventListener(Event.ENTER_FRAME,enterFrameHandler);
//Thisfunctioniscalledineachframe
functionenterFrameHandler(e:Event):void{
//Calculatetheanglespeedaccordingtomouseposition
angleSpeed=(mouseX-centerX)/5000;
//Loopthroughthevector
for(vari:uint=0;i<NUMBER_OF_ITEMS;i++){
//Savetheitemtoalocalvariable
varitem:Item=itemVector;
//Updatetheangle
item.angle+=angleSp
//Setthenewcoordinates
item.x=centerX+radiusX*Math.cos(item.angle);
item.y=centerY+radiusY*Math.sin(item.angle);
//CalculatetheverticaldistancefromcenterYtotheitem
vardy:Number=centerY-item.y;
//Scaletheitemaccordingtoverticaldistance
item.scaleY=(dy/radiusY);
//IfweareabovecenterY,doubletheyscale
if(item.y<centerY){
item.scaleY*=2;
}
//Setthexscaletobethesameasyscale
item.scaleX=item.scaleY;
//Adjustthealphaaccordingtoyscale
item.alpha=item.scaleY+1.1;
}
}9、好了,测试影片。
附件下载:菜单.rar
Flash动画说到底就是“遮罩+补间动画+逐帧动画”与元件(主要是影片剪辑)的混合物,通过这些元素的不同组合,从而可以创建千变万化的效果。 |
|