| 包 | spark.effects |
| 类 | public class Animate |
| 继承 | Animate Effect EventDispatcher Object |
| 子类 | AnimateColor, AnimateFilter, AnimateTransform, AnimateTransitionShader, Fade, Resize |
| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
motionPaths 属性,指定要设置动画的属性和值。
MXML 语法
隐藏 MXML 语法The <s:Animate> tag
inherits all of the tag attributes of its superclass,
and adds the following tag attributes:
<s:Animate
Properties
id="ID"
disableLayout="false"
easer="{spark.effects.easing.Sine(.5)}"
interpolator="NumberInterpolator"
motionPaths="no default"
repeatBehavior="loop"
/>
默认 MXML 属性motionPaths
相关 API 元素
| 属性 | 由以下参数定义 | ||
|---|---|---|---|
![]() | className : String [只读]
效果类的名称,如“Fade”。 | Effect | |
![]() | constructor : Object
对类对象或给定对象实例的构造函数的引用。 | Object | |
![]() | customFilter : mx.effects:EffectTargetFilter
指定一个 EffectTargetFilter 类型的自定义滤镜对象,效果将使用此对象来确定播放效果的目标。 | Effect | |
| disableLayout : Boolean
如果为 true,则效果通过将容器的 autoLayout 属性设置为 false 对其目标的父容器禁用布局,并同时对目标对象禁用任何布局约束。 | Animate | ||
![]() | duration : Number
效果的持续时间(以毫秒为单位)。 | Effect | |
| easer : IEaser
此效果的缓动行为。 | Animate | ||
![]() | effectTargetHost : mx.effects:IEffectTargetHost
一个属性,您可以通过设置此属性访问数据效果基于列表的目标控件。 | Effect | |
![]() | filter : String
指定用于过滤效果目标的算法。 | Effect | |
![]() | hideFocusRing : Boolean
确定在开始播放效果时,效果是否应隐藏对焦环。 | Effect | |
![]() | instanceClass : Class
一个 Class 类型的对象,用于指定此效果类的效果实例类。 | Effect | |
| interpolator : IInterpolator
此效果计算属性的起始值和结束值之间的值所用的插补器。 | Animate | ||
![]() | isPlaying : Boolean [只读]
一个只读标志,如果当前正在播放效果的任一实例,则为 true;否则,则为 false。 | Effect | |
| motionPaths : Vector.<MotionPath>
MotionPath 对象的 Vector,其中的每个对象都带有正在设置动画的属性的名称以及该属性在动画过程中所采用的值。 | Animate | ||
![]() | perElementOffset : Number
在效果的第一个目标之后,其他效果目标的附加延迟(以毫秒为单位)。 | Effect | |
![]() | playheadTime : Number
效果的当前时间位置。 | Effect | |
![]() | relevantProperties : Array
一个属性名称 Array,执行过滤时将使用这些名称。 | Effect | |
![]() | relevantStyles : Array
一个样式名称 Array,执行过滤时将使用这些名称。 | Effect | |
| repeatBehavior : String
一种重复效果的行为,这意味着 repeatCount 等于 0 或大于 1 的效果。 | Animate | ||
![]() | repeatCount : int = 1
效果的重复次数。 | Effect | |
![]() | repeatDelay : int = 0
重复播放效果前需要等待的时间(以毫秒为单位)。 | Effect | |
![]() | startDelay : int = 0
开始播放效果前需要等待的时间(以毫秒为单位)。 | Effect | |
![]() | target : Object
要应用此效果的对象。 | Effect | |
![]() | targets : Array
一个对象 Array,这些对象都是效果的目标。 | Effect | |
![]() | triggerEvent : Event
如果触发了某个效果,则此项目是由 EffectManager 传递给此 Effect 的 Event 对象;如果 EffectManager 当前没有播放此效果,则为 null。 | Effect | |
| 方法 | 由以下参数定义 | ||
|---|---|---|---|
构造函数。 | Animate | ||
![]() | addEventListener(type:String, listener:Function, useCapture:Boolean = false, priority:int = 0, useWeakReference:Boolean = false):void
使用 EventDispatcher 对象注册事件侦听器对象,以使侦听器能够接收事件通知。 | EventDispatcher | |
![]() |
捕获效果目标上相关属性的当前值,并将这些值另存为结束值。 | Effect | |
![]() |
捕获另一组目标相关属性的当前值。在运行数据更改效果时,Flex 将使用此函数。
| Effect | |
![]() |
捕获效果目标上相关属性的当前值。 | Effect | |
![]() |
创建一个效果实例并对其进行初始化。 | Effect | |
![]() |
获取一个目标对象 Array,并对每个目标调用 createInstance() 方法。 | Effect | |
![]() |
删除实例中的事件侦听器,然后从实例列表中删除该实例。 | Effect | |
![]() |
将事件调度到事件流中。 | EventDispatcher | |
![]() |
中断当前正在播放的效果,立即跳转到该效果的末尾。 | Effect | |
![]() |
返回一个字符串 Array,其中每个 String 都是被此效果更改的属性的名称。 | Effect | |
![]() |
检查 EventDispatcher 对象是否为特定事件类型注册了任何侦听器。 | EventDispatcher | |
![]() |
表示对象是否已经定义了指定的属性。 | Object | |
![]() |
表示 Object 类的实例是否在指定为参数的对象的原型链中。 | Object | |
![]() |
暂停效果,直到调用 resume() 方法。 | Effect | |
![]() |
开始播放效果。 | Effect | |
![]() |
表示指定的属性是否存在、是否可枚举。 | Object | |
![]() |
从 EventDispatcher 对象中删除侦听器。 | EventDispatcher | |
![]() |
在效果由 pause() 方法暂停后继续播放效果。 | Effect | |
![]() |
逆序播放效果;如果当前正在播放效果,则从该效果的当前位置开始逆序播放。 | Effect | |
![]() |
设置循环操作动态属性的可用性。 | Object | |
![]() |
停止播放效果,使效果目标保持当前状态。 | Effect | |
![]() |
返回此对象的字符串表示形式,其格式设置遵守区域设置特定的约定。 | Object | |
![]() |
返回指定对象的字符串表示形式。 | Object | |
![]() |
返回指定对象的原始值。 | Object | |
![]() |
检查是否用此 EventDispatcher 对象或其任何祖代为指定事件类型注册了事件侦听器。 | EventDispatcher | |
| 事件 | 摘要 | 由以下参数定义 | ||
|---|---|---|---|---|
![]() | [广播事件] Flash Player 或 AIR 应用程序获得操作系统焦点并变为活动状态时将调度此事件。 | EventDispatcher | ||
![]() | [广播事件] Flash Player 或 AIR 应用程序失去操作系统焦点并变为非活动状态时将调度此事件。 | EventDispatcher | ||
![]() | 在其中一个效果实例完成播放时(既可以是实例实际完成播放时,也可以是通过调用 end() 方法中断效果时)调度。 | Effect | ||
| 对于任何重复次数超过一次的效果,当效果开始新的重复时调度。 | Animate | |||
![]() | 当效果开始播放时调度。 | Effect | ||
![]() | 在已停止效果时调度,仅当该效果已被 stop() 方法调用中断时才会发生。 | Effect | ||
| 每当效果更新目标时调度。 | Animate | |||
disableLayout | 属性 |
easer | 属性 |
easer:IEaser| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
此效果的缓动行为。此 IEaser 对象用于将动画的已过去部分转换为缓动部分,随后缓动部分将用于计算该缓动的已过去部分的值。
请注意,可以在效果级别和关键帧级别(在该级别上,关键帧包含 MotionPath 结构中使用的值/时间)同时设置缓动。这些缓动行为构建于彼此之上。easer 控制全局效果的缓动。关键帧控制动画的任何特定时间间隔中的缓动。默认情况下,Animate 的缓动是非线性的 (Sine(.5))。关键帧的缓动是线性的。如果您需要改为在关键帧级别上具有缓动的效果,则可将该效果的缓动设置为线性的,然后再在关键帧上专门设置缓动。
默认值为 spark.effects.easing.Sine(.5)。
实现
public function get easer():IEaser public function set easer(value:IEaser):void相关 API 元素
interpolator | 属性 |
interpolator:IInterpolator| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
此效果计算属性的起始值和结束值之间的值所用的插补器。默认情况下,NumberInterpolator 类处理内插值,或者在开始值和结束值为 Array 或 Vector 的情况下,由 MultiValueInterpolator 类处理内插值。其它类型的插值,或者应该以不同的方式插补的 Number(如包含颜色通道信息的 uint 值)的插值,可以通过提供不同的插补器来处理。
实现
public function get interpolator():IInterpolator public function set interpolator(value:IInterpolator):void相关 API 元素
motionPaths | 属性 |
motionPaths:Vector.<MotionPath>| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
MotionPath 对象的 Vector,其中的每个对象都带有正在设置动画的属性的名称以及该属性在动画过程中所采用的值。此 Vector 优先于 Animate 的子类中所声明的任何属性。例如,如果此 Array 是直接在 Move 效果上设置的,则会忽略 Move 效果的任何属性(如 xFrom)。
实现
public function get motionPaths():Vector.<MotionPath> public function set motionPaths(value:Vector.<MotionPath>):voidrepeatBehavior | 属性 |
repeatBehavior:String| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
一种重复效果的行为,这意味着 repeatCount 等于 0 或大于 1 的效果。此值应该为 RepeatBehavior.LOOP(表示动画每次都以相同顺序重复)或 RepeatBehavior.REVERSE(表示动画在每次迭代时都反转方向)。
默认值为 RepeatBehavior.LOOP。
实现
public function get repeatBehavior():String public function set repeatBehavior(value:String):voidAnimate | () | 构造函数 |
effectRepeat | 事件 |
mx.events.EffectEvent属性 EffectEvent.type =
mx.events.EffectEvent.EFFECT_REPEAT| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
对于任何重复次数超过一次的效果,当效果开始新的重复时调度。Flex 还会同时为该效果调度 effectUpdate 事件。
EffectEvent.EFFECT_REPEAT 常量可为 effectRepeat 事件定义事件对象的 type 属性值。
事件对象的属性有下列值:
| 属性 | 值 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
effectInstance | 事件的效果实例对象。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
effectUpdate | 事件 |
mx.events.EffectEvent属性 EffectEvent.type =
mx.events.EffectEvent.EFFECT_UPDATE| 语言版本: | ActionScript 3.0 |
| 产品版本: | Flex 4 |
| 运行时版本: | Flash Player 10, AIR 1.5 |
每当效果更新目标时调度。
EffectEvent.EFFECT_UPDATE 常量可为 effectUpdate 事件定义事件对象的 type 属性值。
事件对象的属性有下列值:
| 属性 | 值 |
|---|---|
bubbles | false |
cancelable | false |
currentTarget | 用于定义处理该事件的事件侦听器的对象。例如,如果您使用 myButton.addEventListener() 注册某个事件侦听器,则 myButton 为 currentTarget 的值。 |
effectInstance | 事件的效果实例对象。 |
target | 调度该事件的 Object;它不一定是侦听该事件的 Object。使用 currentTarget 属性始终可以访问侦听事件的 Object。 |
<?xml version="1.0"?>
<s:Application
xmlns:fx="http://ns.adobe.com/mxml/2009"
xmlns:mx="library://ns.adobe.com/flex/mx"
xmlns:s="library://ns.adobe.com/flex/spark">
<fx:Declarations>
<s:Animate id="animateEffect"
target="{targetBox}" repeatCount="2" repeatBehavior="reverse" disableLayout="true" effectStart="playButton.enabled=false" effectEnd="playButton.enabled=true;">
<s:motionPaths>
<s:SimpleMotionPath property="x" valueFrom="0" valueTo="100"/>
<s:SimpleMotionPath property="alpha" valueFrom="1" valueTo="0"/>
</s:motionPaths>
</s:Animate>
</fx:Declarations>
<s:Panel title="Animate Effect Example"
width="75%" height="75%">
<mx:HBox width="100%" height="100%">
<!-- Our target to affect-->
<mx:VBox id="targetBox" width="50%" horizontalAlign="center">
<mx:Label text="Nokia 9930" />
<mx:Image id="targetImg" source="@Embed(source='assets/Nokia_6630.png')"/>
</mx:VBox>
<mx:VBox id="detailsBox" width="50%" left="0">
<mx:Text width="99%" color="blue"
text="The Animate effect animates any property or style of an object over time using animationProperty arrays. Click 'Animate' to watch the effect."/>
</mx:VBox>
</mx:HBox>
<s:Rect left="0" right="0" bottom="0" height="30">
<s:fill>
<s:LinearGradient rotation="90">
<s:GradientEntry color="0xE2E2E2" />
<s:GradientEntry color="0xD9D9D9" />
</s:LinearGradient>
</s:fill>
</s:Rect>
<s:Button id="playButton"
left="5" bottom="5"
label="Animate"
click="animateEffect.play();"/>
</s:Panel>
</s:Application>
Tue Jun 12 2018, 11:04 AM Z
显示 MXML 语法