flash实现苹果菜单效果代码

代码如下:

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;

时间: 2024-10-29 17:17:40

flash实现苹果菜单效果代码的相关文章

jquery实现仿Flash的横向滑动菜单效果代码_jquery

本文实例讲述了jquery实现仿Flash的横向滑动菜单效果代码.分享给大家供大家参考.具体如下: 这是一个仿Flash的jquery滑动菜单,横向,延时效果明显,如果觉得延时太长的话,自己可以修改参数,通过这个菜单主要是想向大家掌握一些jQuery生成动画的技巧,同时这也是jquery强大功能的体现. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-f-flash-style-move-menu-codes/ 具体代码如下: <!

jQuery实现的超酷苹果风格图标滑出菜单效果代码_jquery

本文实例讲述了jQuery实现的超酷苹果风格图标滑出菜单效果代码.分享给大家供大家参考.具体如下: 这是一款超酷苹果风格图标滑出菜单,调用了jquery1.3.2的库文件,整个菜单动感十足,用在网站上增色不少. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-apple-style-ico-show-menu-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0

js下拉框二级关联菜单效果代码具体实现

这篇文章介绍了js下拉框二级关联菜单效果代码具体实现,有需要的朋友可以参考一下   复制代码 代码如下:  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&quo

js实现仿爱微网两级导航菜单效果代码_javascript技巧

本文实例讲述了js实现仿爱微网两级导航菜单效果代码.分享给大家供大家参考.具体如下: 这是一款仿爱微网两级导航菜单,tab选项卡形式的导航菜单,原生js做的tab选项卡型的导航菜单,需要鼠标点击才切换出二级子菜单,可修改成鼠标移过去就更换内容的形式. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-fawei-web-nav-menu-style-codes/ 具体代码如下: <html> <head> <title&g

CSS实现的中英文双语菜单效果代码

        本文实例讲述了CSS实现的中英文双语菜单效果代码.分享给大家供大家参考.具体如下:         这是一款你一定喜欢的CSS中英文双语菜单,支持鼠标 特效,先运行一下看效果,绝对会另你满意.用到了一个背景图片,请自行下载. 代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transit

jquery实现左右滑动菜单效果代码_jquery

本文实例讲述了jquery实现左右滑动菜单效果代码.分享给大家供大家参考.具体如下: 这里演示了三种背景颜色左右滑动jquery菜单导航效果,IE下有问题,本菜单使用了CSS3的部分属性,因此建议使用火狐或Chrome等浏览器获取最佳效果.当把鼠标移到菜单上的时候,对应菜单项的背景会变化,而且本菜单具有圆角的效果. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-left-right-move-style-menu-codes/ 具

JS实现横向拉伸动感伸缩菜单效果代码_javascript技巧

本文实例讲述了JS实现横向拉伸动感伸缩菜单效果代码.分享给大家供大家参考.具体如下: 这是一款JS实现的纵向拉伸变横向拉伸,动感伸缩菜单,紧身排列的CSS菜单,可用在博客等重要的位置部分作菜单,学习JavaScript前端设计的也可以作为参考范例. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-row-show-menu-style-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD

js实现的简洁网页滑动tab菜单效果代码_javascript技巧

本文实例讲述了js实现的简洁网页滑动tab菜单效果代码.分享给大家供大家参考.具体如下: 这里介绍的是一款风格简洁的网页滑动门代码,基于JS和Div+CSS实现.滑动门菜单,只需鼠标放上去就切换的菜单,和网页选项卡只是操作形式上的不同而已,滑动门改选项卡只需将门菜单中的onmouseover换成onclick就行了,这样换了之后,切换内容需要鼠标点击门菜单才可以. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/js-css-div-hd-tab

基于jQuery实现的向下滑动二级菜单效果代码_jquery

本文实例讲述了基于jQuery实现的向下滑动二级菜单效果代码.分享给大家供大家参考.具体如下: 这是一款使用jQuery制作向下滑动的二级菜单,本二级菜单带有动画效果,而且比较流畅,鼠标放在一级菜单上,就可以向下滑出二级子菜单,相对实用. 运行效果截图如下: 在线演示地址如下: http://demo.jb51.net/js/2015/jquery-show-down-style-menu-codes/ 具体代码如下: <!DOCTYPE html PUBLIC "-//W3C//DTD