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

Flash动画制作
Flash MX 2004播放器版本检测
Macromedia将发布新版Flash
Flash MX 2004的绘图新工具
微软Sparkle将取代Flash?
Macromedia给FlashMX升级
Flash和FW合作旋转文字动画
AS代码2.0:新的语言元素
AS代码2.0:脚本编辑和调试
AS代码2.0:面向对象模型
Flash MX 2004时间轴特效实例
Flash MX 2004行为功能初体验
想说透明也容易 课件导入图片背景透明技巧
Flash MX 2004对DRK组件兼容性
Flash MX 2004 总览
Flash MX 2004 支持的HTML标签
Flash MX 2004 支持的 css
Flash MX 2004新功能:行为1
LOADING的测试
LOADING制作方法
商业Flash设计经验谈(速度感)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2010-01-04   浏览: 79 ::
收藏到网摘: 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);
}