当前位置: 首页 > 图文教程 > Flash动画 > Flash动画制作 > Flash AS3制作个性的旋转圆形网页导航

Flash动画制作
Flash 3d效果精彩实例(5)
贺新年 制作五彩缤纷焰火动画
FlashMX2004中的XML应用之原理篇
制作一个骄艳的鲜花情人Flash贺卡
有趣 用Flash制作互动的小人
Flash制作鸡年新春动画贺卡
Flash MX 2004 UI组件系列教程(3)
Flash加载外部文件(5)
Flash MX 2004 UI组件系列教程(4)
Flash加载外部文件(2)
Flash加载外部文件(3)
一个最简便的代码实现任意数字和0的来回跳转
让Flash课件中测试题信手拈来
MX中如何实现swf文件的完美跳转
三分钟理解Flash中的级别关系
flash与ASP通信的几种方法
flashMX2004视频插件的应用教程
如何做好一个多人配合的flash项目
AS计算方面的错误
如何防止SWF文件被反编译

Flash动画制作 中的 Flash AS3制作个性的旋转圆形网页导航


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 113 ::
收藏到网摘: n/a

 Flash AS3制作个性的旋转圆形网页导航,最终效果如下。

源文件下载:/upload/tech/20100104/20100104135417_fc49306d97602c8ed1be1dfbf0835ead.zip

 1、创建一个FLASH文件,保存为menu.fla文件。

2、重命名“layer 1″为 “actions”,我们使用http://blog.greensock.com/tweenlite/的小而美的Tweening Engine,下载AS3的压缩包,然后解压缩到com目录然后把这个目录放到menu.fla文件的文件夹中。

3、用矩形工具绘制一个黑色的矩形,转换为MC影片剪辑,打开属性窗口。

 

4、双击这个影片剪辑编辑它,使用文本工具,设置为动态文本,绘制一个区域,设置颜色是白色,命名实例名为abelBtn。

 

 5、回到场景1,删除掉刚刚建立的影片剪辑。

6、我们选择第一帧,然后打开动作面板,输入下面代码,主要是为了导入Tweenlite engine。

import com.greensock.*;
import com.greensock.easing.*;

7、然后创建一个数字,动态调用每个菜单的项目文字。

var menu_items:Array = ["HOME","ABOUT ME","PORTFOLIO","BLOG","CONTACT"];
var menu:Sprite = new Sprite();
menu.x= stage.stageWidth / 2;
menu.y=stage.stageHeight /2;
addChild(menu);

8、用一个函数buildMenu来实现每个菜单项目。

function buildMenu(){
 var btn:myButton;
 var angle:int=360/menu_items.length;
 for (var i:int = 0; i< menu_items.length; i++){
  btn = new myButton();
  btn.buttonMode=true;
  btn.labelBtn.text = menu_items[i];
  btn.mouseChildren=false;
  menu.addChild(btn);
  TweenLite.to(btn,2,{rotation: -i*angle,ease:Bounce.easeOut});
 }
}

9、最后添加一个监听单击事件的代码。

 menu.addEventListener(MouseEvent.CLICK,clickHandler );
function clickHandler(e:MouseEvent ):void{
 // TO DO ...
 trace(myButton(e.target).labelBtn.text);
}

 10、所有代码如下。

import com.greensock.*;
import com.greensock.easing.*;
var menu_items:Array = ["HOME","ABOUT ME","PORTFOLIO","BLOG","CONTACT"];
var menu:Sprite = new Sprite();
menu.x= stage.stageWidth / 2;
menu.y=stage.stageHeight /2;
addChild(menu);
buildMenu();
function buildMenu(){
 var btn:myButton;
 var angle:int=360/menu_items.length;
 for (var i:int = 0; i< menu_items.length; i++){
  btn = new myButton();
  btn.buttonMode=true;
  btn.labelBtn.text = menu_items[i];
  btn.mouseChildren=false;
  menu.addChild(btn);
  TweenLite.to(btn,2,{rotation: -i*angle,ease:Bounce.easeOut});
 }
}
menu.addEventListener(MouseEvent.CLICK,clickHandler );
function clickHandler(e:MouseEvent ):void{
 // TO DO ...
 trace(myButton(e.target).labelBtn.text);
}