部分采用补间、遮罩、形变或其方法集成到MC里。 第20杖写stop()。第1帧~19杖为鼠标移动刭 事件MC上方时触发的效果,第21帧~40杖为鼠标 穆出事件MC时麓发舶效果。如果单纯地使用 onRdease函数,会使得效果单一、生硬.不够流畅,所 以事件MC的设计很重要。 注意:不推荐用户采用传统的按钮(Button)进行 交互控倒.这是因为按钮的可操作性、可重用性和可维 修性远不及MC,且按钮的用户体验功能单一。没有 MC丰富。 4缓动(Easing) 缓动主要应用在对MC的属性控钢‘扭穆动、缩 放)。尤其是结合物理基本运动原理[.】可以让MC呈现 出丰富的运动效果.作为一个Flash设计师·这是必须 要掌基的一项技能。Flash中有3种方法可以实现缓 动。 4.1静态缓动 指的是不通过AS实现的时间轴上2十关键帧之 间的缓砖。是最简单、最容易的缓动。为了满足不同的 需要,允许用户对Tween效果进行自定义编辑.如图2 2,整个缓动持续了50帧。前面80%的缓动用了10 帧.而后面20%的缓动用了40帧。故整个缓动呈现出 先快后慢的效果。 ![]() 4.2动态缓动 利用AS对MC进行控制而实现缓动.动态缓动 相比静态缓动而言所呈现的效果更加丰富、细腻、逼 真。 var target:Number=100’//定义目标, var easing;Number=0.55l/,定义缓动指数; my_mc.onEnterFrame=function(){ my_mc._x+=(target-my—mc-_x)/easing, h 这是一个标准指数缓动.target为MC运动的目 标点。easing为缓动指敷,不同的数值所呈现出来的效 果不一样。一般来讲,数值越大,缓动效果越慢,数值越 小,缓动效果越快。图中的0.55会使my—mc在z轴 方向上呈现一种类型弹簧的抖动效果,直至近似停止 在目标点。 注意:MC并不是真正停止在目标点。而在无限接 近目标。所以一定要在MC接近目标点的时候进行删 除(Delete)。否则缓动运算会一直持续下去,占用系统 资源。对一z坐标的移动来说,只要和目标的距离小于 0.5就可以认为已经缓动到目标点,可以捌除。 If(Math.abs(my—m.一x-target)<:0·5){ delete this.onEnterFrame} ) 修改target、easing和MC的不同属性,可使MC 呈现出不同的运动效果. 4.3类缓动 为了方便用户使用,Flash MX 2004以上的版本 提供有Tween类和Easing类[”。使甩只需在代码层 第1行导人即可.2个类通常结合在一起使用。Easing 类相当于Tween类的方法。 import mx.transitions.Tween‘ import mx.transitmns.essing.g-● Tween类的构造函数如下: my—tween=new_ Tween(object.property·function,begin,end,duration· useSecond) object是采用缓动的目标,一般为MC) property指MC的属性。如一z坐标、一Y坐标或一 alpha值等等。 function指采用哪种方法鹱动,就是Easing类; Easing类提供有Back、Bounce、Elistic、Regular、 Strong和None6种。每一种又有3种缓动方式; easingln、easingOut、easinglnOut。结合起来效果十分 丰富。 begin。end.duration指的是缓动的开始和结束以 及持续了多长时间. useSecond指缓动的处理采用时间(true)还是帧 (false)一般采用时问. 如l new Tween(your—me,一yscale”, Bounce.easeOut,1.100,1。true)可使your—me的 高度会从l到100%进行弹动,历时1 5。 5动态遮罩(Dynamic Mask) 相比传统遮罩,动态遮罩是利用AS对MC进行 更加灵话的控翻。特别适合在交互中使用。一般可以结 合缓动类实现丰富的用户体验效果. 下面语句使your—me在一,轴方向上弹性放大. import mx.transitiom.Tween) import mx.transitions.eaaing.*; your—me.onReleue—function()f your—m“Mdl“k(muk—mc)l ne-Twin(mask—mc·。一ymle’·Bonnce·eageOut) 0.100,1.mm)· }I 6结束语 灵活运用这些基车的AS技术。可以制作出简单 但是不失美理的多媒体应用。最关键的是大大增强了 多蝉体应用的可维护性和可移植性. |