用户名: 密码: 验证码: QQ--程序群:31736530 动画群:38836599
闪无忧
 
首 页 业界新闻 业界杂谈 Flash教程 Flash源码 Flash图书 Flash酷站 Flex & AIR 供求信息
   本栏目通告:   有意向写收费精品教程的朋友,请联系本站合作
当前位置 :首页>flash教程>Flash动画教程>列表

手把手教你制作奥运苹果菜单

[来源:闪吧 | 作者:kingofkofs | 时间:2008-07-16 | 点击:  | 收藏本文  【 】]

 

设计思路:



代码如下:

package com.TangWeiChun.MenuClass{
import flash.display.MovieClip;
import flash.display.BitmapData;
import flash.display.Bitmap;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.utils.Timer;
import flash.events.TimerEvent;
public class AppleMenu extends MovieClip {
  public var IcoArray:Array=[];
  public var scalelimit:Array=[0.2,0.5];
  public var time:Timer=new Timer(1000/35);
  public var Target_Obj:Object;
  public var BM_ori_wid:Number;
  public var buffer:Boolean;
  //缓冲?
  public var f_mc:MovieClip=new MovieClip();
  public var ori_all_wid:Number;
  public var beishu=3;
  //有效距离3倍的单个图标宽度 可调
  public function AppleMenu(target_mc:Object,IcoArr) {
   Target_Obj=target_mc;
   IcoArray=IcoArr;
   init();
   addIco(target_mc);
  }
  public function init() {
   time.addEventListener(TimerEvent.TIMER,Func);
   buffer=false;
   f_mc.x=mouseX;
   f_mc.y=mouseY;
   time.start();
  }
  public function addIco(target_obj:Object) {
   for (var j=0; j<IcoArray.length; j++) {
    var BMD=new IcoArray[j](0,0);
    var BM:Bitmap=new Bitmap(BMD);
    BM_ori_wid=BM.width;
    var p:Number=scalelimit[0];
    BM.width=BM.width*p;
    BM.height=BM.height*p;
    BM.smoothing=true;
    var mc0:MovieClip=new MovieClip();
    BM.x=-BM.width/2;
    BM.y=-BM.height/2;
    mc0.addChild(BM);
    var mc:MovieClip=new MovieClip();
    mc.addChild(mc0);
    ori_all_wid=mc.width*(IcoArray.length-1);
    mc.x=BM.width*j;
    target_obj.addChild(mc);
    mc.ori_x=mc.x;
    mc.ori_y=mc.y;
    mc.ori_stage_x=mc.x+mc.parent.x;
    mc.ori_stage_y=mc.y+mc.parent.y;
    mc.ori_width=mc.width;
    mc.ori_height=mc.height;
    mc.name="Ico_"+j;
    mc.links="http://www.www.com/"+j+".html";
    mc.addEventListener(MouseEvent.MOUSE_DOWN,MD_event);
   }
  }
  public function MD_event(e:MouseEvent) {
   trace(e.target.parent.links);
  }
  public function Func(event:TimerEvent) {
   event.updateAfterEvent();
   if (buffer) {
    f_mc.x+=(mouseX-f_mc.x)/7;
    f_mc.y+=(mouseY-f_mc.y)/7;
   } else {
    f_mc.x=mouseX;
    f_mc.y=mouseY;
   }
   var all_wid=0;
   for (var j=0; j<IcoArray.length; j++) {
    var T_x:Number=Target_Obj.getChildByName("Ico_"+j).ori_stage_x;
    var T_y:Number=Target_Obj.getChildByName("Ico_"+j).ori_stage_y;
    var wid:Number=Target_Obj.getChildByName("Ico_"+j).ori_width;
    all_wid+=Target_Obj.getChildByName("Ico_"+j).width;
    if (f_mc.x>=T_x&&f_mc.x-T_x<=wid* beishu) {
     Target_Obj.getChildByName("Ico_"+j).width=wid+((wid* beishu)-(f_mc.x-T_x))/(wid* beishu)*(scalelimit[1]*BM_ori_wid-wid);
     Target_Obj.getChildByName("Ico_"+j).height=wid+((wid* beishu)-(f_mc.x-T_x))/(wid* beishu)*(scalelimit[1]*BM_ori_wid-wid);
    } else if (f_mc.x<T_x&&T_x-f_mc.x<wid * beishu) {
     Target_Obj.getChildByName("Ico_"+j).width=wid+((wid* beishu)-(T_x-f_mc.x))/(wid* beishu)*(scalelimit[1]*BM_ori_wid-wid);
     Target_Obj.getChildByName("Ico_"+j).height=wid+((wid* beishu)-(T_x-f_mc.x))/(wid* beishu)*(scalelimit[1]*BM_ori_wid-wid);
    } else {
     Target_Obj.getChildByName("Ico_"+j).width=wid;
     Target_Obj.getChildByName("Ico_"+j).height=wid;
    }
   }
   Target_Obj.getChildByName("Ico_"+0).x=Target_Obj.getChildByName("Ico_"+0).ori_x-((all_wid-Target_Obj.getChildByName("Ico_"+0).width)-ori_all_wid)/2;
   for (var jj=1; jj<IcoArray.length; jj++) {
    Target_Obj.getChildByName("Ico_"+jj).x=Target_Obj.getChildByName("Ico_"+(jj-1)).x+Target_Obj.getChildByName("Ico_"+(jj-1)).width/2+Target_Obj.getChildByName("Ico_"+(jj)).width/2;
   }
  }
}
}

导入类:

import com.TangWeiChun.MenuClass.AppleMenu;
//导入类
var IcoArr:Array=[T贝贝,T欢欢,T2008,T晶晶,T妮妮,T迎迎];
//图标类名数组
var myAppleMenu:AppleMenu=new AppleMenu(Container_mc,IcoArr);
//创建一个实例
myAppleMenu.buffer=true;

附件下载: AppleMenu.rar

文章如果有错误或者缺少文件,请发邮件提交给我们
上一篇:挥手的小女孩-FLASH鼠绘自编教程之三
下一篇:FLASH版仿苹果电脑桌面菜单滑动效果制作教程
Tags:    
>>> 最新评论:(共有 0 位网友发表了评论)      查看所有评论
  发表评论
用户名: 新注册) 密码: 匿名评论
评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
·本站发布内容均为客观表达作者观点,不代表闪无忧立场,请勿攻击和漫骂
·用户发表意见仅代表其个人意见,并且承担一切因发表内容引起的纠纷和责任
·本站管理人员有权在不通知用户的情况下删除不符合规定的评论信息或留做证据
·请客观的评价您所看到的资讯,提倡就事论事,杜绝漫骂和人身攻击等不文明行为
  教程分类
  基础操作   动画特效
  应用开发   组件学习
  As程序   动画教程
  Flash cs3   AS 3.0
  FCS/FMS教程   Loading教程
  Flash与Web   Flash教程连载
  相关文章
·FLASH版仿苹果电脑桌面菜单滑动
·手把手教你制作奥运苹果菜单
·挥手的小女孩-FLASH鼠绘自编教程
·中性装扮的酷女子-FLASH鼠绘经典
·依靠在窗边的女子-FLASH鼠绘经典
·教你如何制作flash弹跳文字
·画人、临摹、水彩【虫虫学画日记
·flash中河流的画法参考
·flash中如何通过多点绘制光滑曲
·Flash鼠绘马蹄莲教程
  热门文章
·Flash进度条的制作详细讲解(组图)
·flash幻灯片网页效果
·Flash打造简单的飘雪动画视觉特效
·Flash旋转拖尾文字效果的制作教程
·flash水影效果字
·全Flash动画网站实现的基础教学
·超酷flash光晕移动效果
·flash春雷闪电效果
·Flex 3 AdvancedDataGrid的使用(第二
·即拷即用的loading代码
·Flash制作大雪纷飞效果动画
关于我们 - 免责声明 - 网站地图 - 商务服务 - 联系我们 - RSS地图
©CopyRight 2006-2008, 5UFlash.COM, Inc. All Rights Reserved
鲁ICP备06034971号