.
PLUGINS(插件)
.
可以把插件想象成动态添加的特殊属性,它们提供了额外的功能,而无需将这些功能硬编码到核心引擎中,从而保持引擎的相对简洁和高效。
.
每个插件都与一个属性名称相关联,并负责处理该属性。例如,TintPlugin 与 "tint" 属性名称相关联,因此如果它被激活,它将拦截以下补间动画中的 "tint" 属性并对其进行独特管理:
TweenLite.to(mc, 1, {tint:0xFF0000});
.
如果 TintPlugin 未被激活,TweenLite 会表现得好像你试图直接对 mc.tint 属性进行补间(但实际上并不存在这样的属性)。
.
在 TweenMax 的 JavaScript 版本中,激活插件就像加载关联的 .js 文件一样简单。无需额外的激活代码。并且默认情况下,TweenMax 的 JavaScript 版本包含了 CSSPlugin 和 RoundPropsPlugin,因此你无需单独加载它们。
.
在 ActionScript 版本中,激活插件只需一行代码,并且只需执行一次,因此非常简单。
只需将包含要激活的所有插件名称的数组传递给 TweenPlugin.activate() 方法,如下所示:
TweenPlugin.activate([FrameLabelPlugin, ColorTransformPlugin, TintPlugin]);
.
为了更方便,还有一个插件浏览器(Plugin Explorer),它可以为你编写代码。
你只需选择插件,然后从工具底部复制/粘贴代码即可。
它还显示每个插件的交互示例和关联代码,因此很容易看到
正确的
语法。
.
以下插件由 TweenMax 自动激活:
.
autoAlpha : Number(数值)- autoAlpha 与补间 alpha 相同,但当值为零时会自动隐藏目标,当值不为零时会自动显示目标。在 AS3 中,这意味着切换目标的 visible 属性。在 AS2 中,切换 _visible 属性,在 JS 中将 visibility 样式属性设置为 "hidden" 以隐藏目标。这有助于提高渲染性能。
.
visible : Boolean [仅 AS3/AS2] - 补间完成后隐藏或显示目标。在 AS3 中,这意味着切换目标的 visible 属性。在 AS2 中,切换 _visible 属性,在 JS 中将 display 样式设置为 "none" 以隐藏目标。
.
volume : Number [仅 AS3/AS2] - 对对象的音量进行补间。在 AS3 中,它可以处理任何具有 soundTransform 属性的对象(如 MovieClip、SoundChannel、NetStream 等)。在 AS2 中,适用于 MovieClip 或 Sound 对象。
.
tint : Number [仅 AS3/AS2] - 对目标进行颜色(色调)补间。使用十六进制值,例如:0xFF0000 表示红色,0x0000FF 表示蓝色等。要移除色调,请使用 null。
.
frame : Number [仅 AS3/AS2] - 将 MovieClip 补间到特定帧。要补间到标签,请使用 FrameLabelPlugin。
.
bezier : Array - 贝塞尔补间允许你以非线性方式进行补间。例如,你可能希望将目标的位置从原点(0,0)补间到 500 像素右侧(500,0),但在补间中间向下弯曲。只需在 bezier 数组中传递尽可能多的对象,每个对象对应一个“控制点”。有关更多详细信息,请参阅 BezierPlugin 文档。在此示例中,假设控制点位于 x/y 坐标 250,50。只需确保你的 mc 位于坐标 0,0,然后执行:TweenMax.to(my_mc, 3, {bezier:[{x:250, y:50}, {x:500, y:0}]});
.
bezierThrough : Array - 与 bezier 相同,但不同的是,你传递的是贝塞尔值应通过的点,而不是贝塞尔控制点值。这比使用控制点更直观。
.
orientToBezier : Boolean(或 Array) - 在进行贝塞尔或 bezierThrough 补间时,可以使用 orientToBezier 使目标在贝塞尔方向上改变其旋转,使其看起来与曲线一起转动。最简单的方法是将 orientToBezier 设置为 true,但你可以通过使用数组来实现更高级的效果,例如使用不同于 "rotation" 的属性或向标准旋转值添加特定度数等。数组应包含以下 4 个元素(按此顺序):
1位置属性 1(通常是 "x")
2位置属性 2(通常是 "y")
3旋转属性(通常是 "rotation")
4要添加的度数(可选 - 便于正确调整目标方向)
.
hexColors : Object - 尽管十六进制颜色在技术上是数字,但如果尝试以传统方式对其进行补间,会发现它们并不平滑。要正确补间,必须提取红色、绿色和蓝色分量并分别进行补间。TweenMax 使其变得简单。要对对象的十六进制颜色属性进行补间,只需传递一个对象,其属性名称与对象的十六进制颜色属性名称相同。例如,如果你的 mc 对象有一个 "myHexProp" 属性,你希望在 2 秒内将其补间到红色(0xFF0000),可以执行:TweenMax.to(mc, 2, {hexColors:{myHexProp:0xFF0000}});
.
roundProps : String - 一个用逗号分隔的属性名称列表,这些属性的值在补间过程中每次更新时都会四舍五入到最近的整数。例如,如果你正在对 mc 的 x、y 和 alpha 属性进行补间,并且希望在每次补间渲染时对 x 和 y 值(而不是 alpha)进行四舍五入,可以执行:TweenMax.to(mc, 2, {x:300, y:200, alpha:0.5, roundProps:"x,y"});
.
blurFilter : Object [仅 AS3/AS2] - 创建影响以下属性的 BlurFilter 补间:blurX、blurY、quality、remove、addFilter、index。例如,要使对象在每个轴上模糊 20 像素,可以执行:TweenMax.to(mc, 1, {blurFilter:{blurX:20, blurY:20}}); 要在补间完成后立即移除滤镜,可以在 blurFilter 对象中设置 remove:true。
.
glowFilter : Object [仅 AS3/AS2] - 创建影响以下属性的 GlowFilter 补间:alpha、blurX、blurY、color、strength、quality、inner、knockout、remove、addFilter、index。例如,要创建一个 20 像素的红色发光效果,强度为 1.5,alpha 为 1,可以执行:TweenMax.to(mc, 1, {glowFilter:{blurX:20, blurY:20, color:0xFF0000, strength:1.5, alpha:1}});
.
colorMatrixFilter : Object [仅 AS3/AS2] - 创建影响以下属性的 ColorMatrixFilter 补间:colorize、amount、contrast、brightness、saturation、hue、threshold、relative、matrix、remove、addFilter、index。例如,要完全使目标去饱和,可以执行:TweenMax.to(mc, 1, {colorMatrixFilter:{saturation:0}}); 或要对对象进行 50% 强度的红色着色,可以执行:TweenMax.to(mc, 1, {colorMatrixFilter:{colorize:0xFF0000, amount:0.5}});
.
dropShadowFilter : Object [仅 AS3/AS2] - 创建 DropShadowFilter 补间,影响以下属性:alpha、angle、blurX、blurY、color、distance、strength、quality、remove、addFilter、index。例如,要创建一个 10 像素的红色投影,角度为 45,可以执行:TweenMax.to(mc, 1, {dropShadowFilter:{blurX:10, blurY:10, color:0xFF0000, angle:45, alpha:0.8}});
.
示例:
请访问
http://www.greensock.com 查看示例、教程和交互式演示。
.
注释/提示:
.
将值作为字符串传递,并在前面加上“+=”或“-=”,会使补间动画相对于当前值进行。
例如,如果执行 TweenMax.to(mc, 2, {x:"-=20"});,它会使 mc.x 向左移动 20 像素。而 {x:"+=20"} 会使其向右移动。
.
您可以使用 addEventListener() 手动为补间实例添加监听器,而无需使用 onCompleteListener、onStartListener 和 onUpdateListener 特殊属性。
例如:myTween.addEventListener("complete", myFunction);
.
您可以通过设置 TweenLite.defaultEase 静态属性来更改默认缓动效果。
默认值为 Power1.easeOut。
.
您可以使用 TweenMax.killTweensOf(myObject); 随时终止特定对象的所有补间动画。
您可以使用 TweenMax.killDelayedCallsTo(myFunction) 或 TweenMax.killTweensOf(myFunction);
终止特定函数的所有延迟调用。
.
使用 TweenMax.from() 方法将对象动画到指定位置。例如,如果舞台上对象已设置在最终位置,而您只是想将其动画到该位置,可以传入初始的 x 和/或 y 和/或 alpha(或您想要的任何属性)。
.
如果您觉得此类很有用,请考虑加入 Club GreenSock。这不仅有助于维持持续开发,还能让您获得仅限会员享用的奖励插件、类和其他福利。了解更多信息,请访问:
http://www.greensock.com/club/版权所有 2008-2013,GreenSock。保留所有权利。
.
本作品受
http://www.greensock.com/terms_of_use.html 条款约束,
对于 Club GreenSock 会员,则受随会员资格发放的软件协议约束。
.