缓动导航制作过程

先看一下效果:
Flash动画


今天在网上学习制作一个缓动导航条:
新建一个flash名字随便了,大小588*350  :

1,把要放的图片导到库里面 。
2,新建一个mc名字为mc1, 把刚才的图片拖进来,上对齐,左对齐 。
3,新建一个mc名字为color 用矩形工具拖个色条宽20 高350,然后再回到mc1新建一层,把color拖进来也是左对齐,上对齐 。
4,新建一层在mc1上写上要显示的文字 。
5,再在mc1上新建一层,加入一个20*350的按钮,实例名为btn 。
6,重复以上步骤把建5个mc, 名字分别为mc1-mc5 。
如图:


7,新建一个mc新建5个层把刚才m1-m5拖进来到分别的层(m0-m4)上实例名分别为m0-m5 (m5实际上只有动作)。
8,在第一帧上写上:

for (i=0; i<5; i++) {
this["m"+i]._x = _root.my_qlX0[i];
var btnNum = this["m"+i].btn;
btnNum.Mnum = i;
btnNum.onRollOver = function() {
  this._parent._parent.m1.MoveTo(0.200000, _root["my_qlX"+this.Mnum][1]);
  this._parent._parent.m2.MoveTo(0.200000, _root["my_qlX"+this.Mnum][2]);
  this._parent._parent.m3.MoveTo(0.200000, _root["my_qlX"+this.Mnum][3]);
  this._parent._parent.m4.MoveTo(0.200000, _root["my_qlX"+this.Mnum][4]);
};
}

9,然后把这个mc拖到场景里面在第一帧写上:
MovieClip.prototype.smoothMove = function(sp, tx) {
this._x = this._x+sp*(tx-this._x);//缓动
};
MovieClip.prototype.MoveTo = function(sp, sx) {
this.age = 0;
this.onEnterFrame = function() {
  if (this.age<30) {
   this.smoothMove(sp, sx);
  } else {
   delete onEnterFrame;
  }
  this.age++;
};
};
//坐标控制
my_qlX0 = [0, 500,522,544,566];//[m1开始位置,m2在右边的位置,m3在右边的位置]
my_qlX1 = [0, 22,522,544,566];//当m2滑到左边事各m的位置
my_qlX2 = [0, 22,44,544,566];//当m2,m3滑到左边事各m的位置
my_qlX3 = [0, 22,44,66,566];//当m2,m3,m4滑到左边事各m的位置
my_qlX4 = [0, 22,44,66,88];//当m2,m3,m4,m5滑到左边事各m的位置

10,Ctrl+Enter测试下影片。





[本日志由 ier00 于 2007-05-14 05:09 PM 编辑]
文章来自: 本站原创
引用通告地址: http://www.cxblog.net/trackback.asp?tbID=257
Tags: {257}
相关日志:

评论: 1 | 引用: 0 | 查看次数: 10331
  • 1
笨疯 [2007-06-04 11:01 AM]
支持一下 做的很不错o
  • 1
发表评论
昵 称:
密 码: 游客发言不需要密码.
验证码:
内 容:
选 项:
虽然发表评论不用注册,但是为了保护您的发言权,建议您注册帐号.
字数限制 1000 字 | UBB代码 关闭 | [img]标签 关闭