当前位置:主页   - 电脑 - 图形图像 - Flash
Flash组件教程:组件动画效果的修改
来源:网络   作者:   更新时间:2012-05-10
收藏此页】    【字号    】    【打印】    【关闭

  某些组件在用户的操作过程中,会出现一些很酷的动画效果。比如,使用TREE制作下拉菜单,或者ComboBox制作下拉菜单时,下拉列表很酷的滑出来。这种效果,主要是借助Tween类或者easing类完成的。一般的效果分为三类:

  A、Open:使用组件打开子部分动画效果时,这类效果支持的组件包括:ComboBox、Accordion、Tree;

  B、Popup:使用组件弹出子部分动画效果时,支持组件MenuBar;

  C、Selection:当组件里的项目被选中中,出现一些颜色标示动画效果,支持组件:ComboBox、DataGrid、List、Tree。

  对组件动画效果的修改也分为三类:全局修改、组件类修改、实例化修改。(随后有详细介绍) [heart] 关于Open类动画效果,可有两个属性:

  一、openDuration:动画持续时间,单位为毫秒,数值越小,动画越快。

  二、openEasing:动画效果类,使用mx.transition.easing包里的类,包括Back、Bounce、Elastic、None、Regular、Strong,这些动画效果要配合Tween类,以及淡出淡入函数来实现。

  [heart] 修改弹出类动画效果(Popup),只有一个属性:

  poputDuration:动画持续时间,与openEasing相同。因为这类效果一般只支持MenuBar组件。所以只有下拉菜单的时候。弹出时间的长短这一属性。大家一定要记住哦。

  [heart] 修改选择颜色标示(Selection)类动画效果,可以有以下两个属性:

  selectionDuration:动画持续时间,跟openEasing相同;

  selectionEasing:动画效果类,与openEasing相同。

  例如:修改ComboBox组件下拉列表会修改动画效果,动画效果在1秒内完成:

  _global.styles.ComboBox.setStyles("openDuration",1000)

  //设置打开类动画效果

  _global.styles.ComboBox.setStyles("openEasing",mx.transitions.easing.Elastic.easeOut);

  当然,这上面的后面一段,可能有些复杂。对吧。下面就来简化一下:

  import mx.transitions.easing.*;

  _global.styles.ComboBox.setStyles("openDuration",1000);

  _global.sytles.ComboBox.setStyles("openEasing",Elastic.easeOut);

  下面,再举一个修改List组件颜色标示动画效果:

  import mx.transitions.easing.*;

  _global.styles.ScrollSelectList.setStyle("selectionDruation",1000);

  _global.styles.ScrollSelectList.setStyle("selectionEasing",Elastic.easeOut)

  备注:ComboBox、DataGrid、List、MenuBar里的Menu和Tree组件都是继承ScrooSelectList类,所以,如果要改变颜色标示动画效果。就需要直接修改ScrooSelectList的样式。不过,如果FLA里同时有几个这类的组件。全部都会受到影响的。如果只想修改List组件,就要利用组件类修改的方法。大家如果对easing类不太熟悉。下面举一个例子:

  easing 包提供了的六个用于控制缓动的类:

  Back 一次在一端或两端扩展到过渡范围之外以提供轻微的溢出效果。

  Bounce 完全在过渡范围的一端或两端内提供弹跳效果。弹跳次数与持续时间有关:持续时间越长,弹跳次数越多。

  Elastic 提供一端或两端超出过渡范围的弹性效果。弹性量不受持续时间影响。

  None 提供从开始到结尾的无任何减速或加速效果的相同的运动。该过渡通常也称为线性过渡。

  Regular 在加速效果、减速效果或这两种效果的一端或两端提供更慢的运动。

  Strong 在一端或两端提供很慢的运动。此效果类似于 Regular,但更为显著。

  easing 包的三个缓动方法:

  easeIn 在过渡的开始提供缓动效果。

  easeOut 在过渡的结尾提供缓动效果。

  easeInOut 在过渡的开始和结尾提供缓动效果。

  先来看看Open这种动画效果演示:

  下面看看代码:

  //导入easing类

  import mx.transitions.easing.*;

  //设置全局组件样式

  _global.styles.ComboBox.setStyle("openDuration", 2000);

  _global.styles.ComboBox.setStyle("openEasing", Elastic.easeOut);

  //设置个别组件样式

  my_ComboBox1.setStyle("openDuration", 250);

  //取消my_ComboBox1的动画效果

  my_ComboBox1.setStyle("openEasing", null);

  这里,就用到了全局定义,以及局定义。也就是实例修改。实例修改的时候。只需要单独将需要设置样式的组件赋加上函数。

  如上面所示,实例修改的语法:

  组件实例.setStyle("属性",参数)

  example:

  import mx.transitions.easing.*;

  my_ComboBox.setStyle("openEasing",Elastic.easeOut)

  大家有不明白的地方,可以留言。呵呵...写得比较简单,大家将就着看哟...

其它资源
来源声明

版权与免责声明
1、本站所发布的文章仅供技术交流参考,本站不主张将其做为决策的依据,浏览者可自愿选择采信与否,本站不对因采信这些信息所产生的任何问题负责。
2、本站部分文章来源于网络,其版权为原权利人所有。由于来源之故,有的文章未能获得作者姓名,署“未知”或“佚名”。对于这些文章,有知悉作者姓名的请告知本站,以便及时署名。如果作者要求删除,我们将予以删除。除此之外本站不再承担其它责任。
3、本站部分文章来源于本站原创,本站拥有所有权利。
4、如对本站发布的信息有异议,请联系我们,经本站确认后,将在三个工作日内做出修改或删除处理。
请参阅权责声明