Flash制作Mac系统菜单的效果

菜单

  首先需要把菜单全部导入,也可以用程序导入到mc。我这里只是写教程,所以只是随便画了个矩形有个效果而已。
  不过需要注意的是,必须将单个菜单的坐标对齐到0,0;观看效果:

点击这里下载源文件

// Flash AS代码如下;
Stage.align = "TL";
//对其场景为左上角;
Stage.scaleMode = "noScale";
//控制动画不自动缩放;
function BoxCopy(MacMenuName, step, MenuXW, Max, scaleX, MenuX, MenuY) {
 createEmptyMovieClip(MacMenuName, 1);
 //根据函数参数创建对应的MovieClip; 
 for (var i = 0; i<Max; i++) {
  MacMenuBoxNum = eval(MacMenuName).attachMovie(MacMenuName, "MacMenuBoxName"+i, i);
  //根据函数参数给出的菜单个数逐个装载进入刚才创建的MovieClip中;
  MacMenuBoxNum.Num.text = i+1;
  //此句是用来测试函数的显示结果的;
  MacMenuBoxNum.onRelease = function() {
   trace(this);
  };
  //此项定义菜单在点击过后执行的程序;
  MacMenuBoxNum.onEnterFrame = scaleBox;
  //此句控制调用菜单所放的函数;
 }
 var MenuBoxHeight = eval(MacMenuName)._height;
 onEnterFrame = function () {
  MenuX = MenuX == null || MenuX == "" || MenuX == undefined ? 0 : MenuX;
  MenuY = MenuY == null || MenuY == "" || MenuY == undefined ? 0 : MenuY;
  for (var i = 0; i<Max; i++) {
   var MacMenuBoxNum = eval(MacMenuName)["MacMenuBoxName"+i];
   // 引用对象;
   MacMenuBoxNum._x = eval(MacMenuName)["MacMenuBoxName"+(i-1)]._x+eval(MacMenuName)["MacMenuBoxName"+(i-1)]._width+MenuXW;
   // 初始化菜单的排列方式;
   MacMenuBoxNum._y = eval(MacMenuName)._y-MacMenuBoxNum._height;
   eval(MacMenuName)._x = (Stage.width-eval(MacMenuName)._width)/2+MenuX;
   eval(MacMenuName)._y = MenuBoxHeight+MenuY;
   // 控制菜单的坐标;
  }
 };
 function scaleBox() {
  MouseX = Math.abs(this._x+this._width/2+eval(MacMenuName)._x-_root._xmouse);
  MouseY = Math.abs(this._y+eval(MacMenuName)._y-_root._ymouse);
  //得到鼠标与菜单的距离;
  if (MouseX<=scaleX && MouseY<=MenuBoxHeight*(scaleX+100)/100) {
   //得到菜单响应鼠标的有效范围;
   this._xscale += (100+(scaleX-MouseX)-this._xscale)/step;
   this._yscale += (100+(scaleX-MouseX)-this._yscale)/step;
   //缩放菜单的大小;
  } else {
   this._xscale += (100-this._xscale)/step;
   this._yscale += (100-this._yscale)/step;
   //还原菜单所放;
  }
 }
}
BoxCopy("BoxName", 5, 10, 15, 120, 0, 50);
//BoxCopy(attachMovie连接的MovieClip名称,缩放所需要的帧数,各菜单项之间的间距,菜单的总数,缩放的比例,菜单的X坐标,菜单的Y坐标);

时间: 2024-12-29 13:03:46

Flash制作Mac系统菜单的效果的相关文章

flash制作可爱吹泡泡动画效果

简介:本例介绍使用Flash制作一个有趣的"小丑吹泡泡"动画,主要运用了椭圆.直线工具,以及任意变形和渐变填充等方法,操作简洁易懂,适合新手学习. 制作步骤: 1.新建一个Flash文档,Ctrl+F8新建一个元件,命名为"boy".选择椭圆工具,设笔触为黑色,按住Shift键画出一个正圆作为小丑的脸. 图01 2.新建一个图层,命名为"nose",再画一个小椭圆作为鼻子. 图02 3.嘴巴和耳朵都可以都画在鼻子图层上.先用直线工具画出如下两条直

用Flash制作模拟胶片循环播放效果

循环 观看动画效果: 前言: 主要介绍flash中模拟影片循环特效,及如何衔接MC起.始处的连接以达到循环播放的视觉效果. 1.设置文件大小如下图.(这里是根据banner所需大小) 02.新建元件,并在元件里画出做背景的胶片齿卡效果,并转换成mc元件.这里需要注意:各齿卡间距离均匀,避免在播放时出现断点或衔接不齐 03.导图片入库. 04.新建一mc,在mc图层1中插入图片,图层2插入齿卡MC并对齐图层1中的Mc 我建立了3组mc,分别为mc1,2,3(以5张为一组). 05.回到场景里,在第

Flash制作逼真的书法动画效果

网上也有不少用毛笔做引导线的动画,小草小时候喜欢中国的书画,长大后当画家的梦想破灭了,但是脑还是带给了我不少新鲜的表现手段!这儿上传一个自己2004年春天作的一个动画,是想用动画来表现毛笔在字上写字的效果.这儿要表现出笔的动作和墨在纸上扩散的效果.力求能通过动画来再现中国笔墨之神韵.(做的不好,请"老闪"们多多指教!) 我们来先看看效果吧! 点击这里下载源文件 1.打开FLASH MX ,新建一个文件,命名为"sheji.fla"并保存文件.在主场景中新建四个图层,

Flash制作美丽的蜻蜓飞舞效果动画

演示效果: 点击这里下载源文件 制作步骤: 1.新建立一个Flash文档,修改其属性如下图所示: 2.在主场景中把图层1改名为back,这是背景层,我们选择矩形工具绘制一个550*300的矩形正好和舞台重合,在这里要使用混色器面板,设置线性填充效果如下图: 3.之后我们新建一个元件,画一些草,为了让动画效果更好你可以让草也动起来,在这里我制作的是一个静止的图,如下图所示: 4.接下来我们制作蜻蜓动画,蜻蜓动画其实只是蜻蜓的四个翅膀在动,所以我的方法是先建立翅膀静止的元件,然后建立翅膀动的元件,然

Flash制作跳动的文字镜像效果

此实例实现的是制作一个跳动的文字镜像效果.效果实现主要有两个方面,一是通过延迟不同元件的动画开播时间,实现了文字的先后运动.二是通过对中间帧动画变速调整,实现了跳动的弹性效果.而效果的主要制作步骤也是有两个,一是制作字符模板,二即是制作具体效果.难点在于元件转换.元件替换.中间帧动画调速和简单的播放控制.最终播放效果如图1所示,要实现这一效果,具体制作过程如下 图1 最终效果 一.制作字符模板 1.新建一个电影,在属性面板中设置其尺寸为550pxX400px,选择一种颜色(本例为#FFCCFF)

Flash制作旋转拖尾文字效果

文字旋转时后面跟着自己的影子,给人超强的速度感.在模拟物体快速运动时常常要用到这种效果,下面就讲一下这种文字的制作方法. 一.新建文档,设置文档大小为500×500.帧频为30/秒. 二.创建一个图形元件,起名"影子",用文本工具选择合适的字体.加粗.斜体在舞台上输入文字,如中国教程网网址"bbs.jcwcn.com".设置面板如下图: 三.将文字打散为矢量图(执行两次"CTRL+B"键),然后用颜料桶工具进行渐变填充,混色器面板如图: 填充时先

Flash制作文本框滚动缓冲效果

文本框 效果如下: 今天写了这个效果的代码用在主页的diary里觉得以前用scroll对象来控制文本框,滚动起来比较生硬 其中drag为滚动条名字block为文本框b_up,b_down为上下滚动按钮 主要方法是用block始终跟随drag的位置变化而滚动而b_up,b_down还有鼠标滚轮都是直接控制drag的位置变化的,从而间接控制文本框的滚动 // JTL // http://www.hartech.cn // e-mail: jtl.zheng@gmail.com //初始化函数 fun

Flash制作简单的物体二段跳效果

非常非常简单的效果,按任意键进行方块的跳跃,有二段跳效果和轻跳和重跳效果,根据按键长短判定的.这是在兄弟会论坛做的一道题,很应该转来跟大家分享下- 代码如下: package { /*author : CYPL*/         import flash.display.*;         import flash.events.*;         import flash.utils.Timer;         public class JumpTest extends Sprite 

Flash制作的好看的图片效果动画

图片效果 看效果: 代码如下: var old:Number = 1; //记录上张显示的图片 var oldGo:Boolean; var oldpos:Number = 700; var picNum:Number = 9; //anliPath是用于加载外部图片的路径 //var anliPath:String = "works/1-"; for (i=1; i<=picNum; i++) {         btn_mc.attachMovie("btn&quo