当前位置: 移动技术网 > IT编程>UI设计>设计软件 > Flash AS 实例进阶 导航条实现方法

Flash AS 实例进阶 导航条实现方法

2019年04月02日  | 移动技术网IT编程  | 我要评论

  

  

  实例2-4导航条

   ( 1 )基本思路  

   ① 作几个标签,类型为 mc ,上面有文字标识,是嵌套在标签里的 mc ,鼠标滑过时可以改变字的大小。

   ② 作一类型为 mc 的光标,给其加动作,可以“弹性”地向某点靠近,弹性这词,也是网上学的,意思就是移动方式不要一步到位,避免呆板,就是为好看嘛 。

   ③ 当鼠标滑过某一个标签,光标就以颜色和宽度变化的形态逐步向这点靠近。

   ④单击标签都有一个链接地址被打开,转向指定的页面。

   ⑤设定限制,当鼠标移出范围后,光标以初始形态停在最后滑过的标签上。

  ( 2 )新知识点

  ||// 逻辑或,若干条件,有一条够格就是真。

  &&// 逻辑与,要同时满足所有的条件才为真。

  geturl()// 将来自特定 url 的文档加载到窗口中, url 是 www 页的地址。

  (3)实例说明

   ① 主场景中水平排开外观一致的 mc 类型的标签,嵌套在标签里的文字也是 mc ,这里分别是:首页、二页、三页、四页。

   ② 用外形和标签同样大的 mc作为光标 ,内部有形状补间,第 1 帧要设定 stop 。

   ( 4 )编写动作脚本

  ① 在标签 mc 上输入:  on (rollover) {// 鼠标滑过

  h = 1;

  i = 1;

  _root.newx = this._x;// 将这 mc 的坐标 x 的值赋与 _root.newx

  }

  on (rollout) { 鼠标滑出

  h = 0;

  }

  onclipevent (enterframe) {// 以帧频频率执行以下动作

  if (h == 1) { 当变量 h 等于 1 ,就是鼠标滑过此 mc 时,执行以下动作

  if (i>0 && i<21) {i 同时满足大于 0 ,小于 21 的条件

  this.z._xscale = 100+i*1.8;// 嵌套在此 mc 里的 “z” 水平比例增加 i*1.8

  this.z._yscale = 100+i*1.8; // 嵌套在此 mc 里的 “z” 垂直比例增加 i*1.8

  _root.mc._xscale = 100-i*10;// 主场景的 “mc” 水平比例减少 i*10

  _root.mc.play();

  i++;

  }

  } else { 当变量 h 不等于 1 ,就是鼠标滑出此 mc 时,执行以下动作

  if (i>1 && i<22) {

  this.z._xscale = 100+i*1.8; // 嵌套在此 mc 里的 “z” 水平比例减少 i*1.8

  this.z._yscale = 100+i*1.8; // 嵌套在此 mc 里的 “z” 垂直比例减少 i*1.8

  i--;

  }

  }

  }

  on (press) {

  geturl("http://bbs.flasher123.com/", "_blank ");// 得到一个地址 并打开新窗口,这里是第一个标签的,其它标签要根椐需要另设。

  }

  ② 在光标 mc 上输入:

  onclipevent (load) {

  root.newx = this._x;// 设一变量取得此 mc 的横坐标点

  }

  onclipevent (enterframe) {

  this._x = this._x+(_root.newx-this._x)/5;// 不断地将变量 newx 与 mc 的横坐标值的差的 1/5 加上 mc 的横坐标值,赋值到新的 mc 的横坐标值,变量 newx 与 mc 的横坐标值的差是在趋于 0 的变化中。

  if (_root._ymouse>75 || _root._ymouse<25 || _root._xmouse<12 || _root._xmouse>534) { // 满足其中的任一条件,就执行后面语句,为的是避免在光标变化过程中鼠标移出后有没展开的状态.

  this._xscale = 100;

  }

  }

   ( 5 )要点分析

   ① this._x = this._x+(_root.newx-this._x)/5 ,一个缓冲移动公式,是不断地将变量 newx 与 mc 的横坐标值的差的 1/5 加上 mc 的横坐标值,赋值到新的 mc 的横坐标值,变量 newx 与 mc 的横坐标值的差是在趋于 0 的变化中,这样就可实现逐步靠近目标的效果。应该彻底理解,还可以用具体的数值代入公式中,那样对分析理解其作用,是比较简便的方法,熟练掌握后还可以增加抖动率 ( 一个由大逐渐变小直至 0 的的一个变量 ) ,看着有哆了哆嗦的效果,会更好看。

   ② if (_root._ymouse>75 || _root._ymouse<25 || _root._xmouse<12 || _root._xmouse>534) ,“逻辑或”条件判断,满足其中的任一条件,就执行后面语句,这里是为的避免在光标变化过程中鼠标移出后有没展开的状态,因为光标在移动过程中有宽度变化。

  ( 6 )小结

   本讲介绍了复合判断条件的使用,和使用连接地址的方法,还应用到了移动公式: this._x = this._x+(_root.newx-this._x)/n;, 都是经常要用得到的,需要熟练掌握。

  ( 7 )课后练习

   将标签排列由横向改为纵向,范例效果:

  

  练习2-4

  这篇教程为“flash as 实例进阶教程”的一部分。查看全套教程>>>>。

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网