- Adobe Flex 教程
- Flex - 首頁
- Flex - 概述
- Flex - 環境
- Flex - 應用
- Flex - 建立應用
- Flex - 部署應用
- Flex - 生命週期階段
- Flex - 使用 CSS 樣式化
- Flex - 使用皮膚樣式化
- Flex - 資料繫結
- Flex - 基本控制元件
- Flex - 表單控制元件
- Flex - 複雜控制元件
- Flex - 佈局面板
- Flex - 視覺效果
- Flex - 事件處理
- Flex - 自定義控制元件
- Flex - RPC 服務
- Flex - FlexUnit 整合
- Flex - 除錯應用
- Flex - 國際化
- Flex - 列印支援
- Adobe Flex 資源
- Flex - 快速指南
- Flex - 有用資源
- Flex - 討論
Flex - 效果
介紹
Effect 類是一個抽象基類,它定義了所有 Flex 效果的基本功能。Effect 類定義了所有效果的基工廠類。EffectInstance 類定義了所有效果例項子類的基類。
類宣告
以下是mx.effects.Effect類的宣告:
public class Effect
extends EventDispatcher
implements IEffect
公共屬性
| 序號 | 屬性 & 描述 |
|---|---|
| 1 | className : String [只讀] 效果類的名稱,例如“淡入淡出”。 |
| 2 | customFilter : mx.effects:EffectTargetFilter 指定一個自定義過濾器物件(EffectTargetFilter 型別),效果使用它來確定在其上播放效果的目標。 |
| 3 | duration : Number 效果持續時間(以毫秒為單位)。 |
| 4 | effectTargetHost : mx.effects:IEffectTargetHost 一個屬性,允許您訪問資料效果的目標列表式控制元件。 |
| 5 | filter : String 指定用於過濾效果目標的演算法。 |
| 6 | hideFocusRing : Boolean 確定效果在啟動時是否應隱藏焦點環。 |
| 7 | instanceClass : Class 一個 Class 型別的物件,指定此效果類的效果例項類。 |
| 8 | isPlaying : Boolean [只讀] 一個只讀標誌,如果該效果的任何例項當前正在播放,則為 true;如果沒有,則為 false。 |
| 9 | perElementOffset : Number 效果目標(除第一個目標外)的額外延遲(以毫秒為單位)。 |
| 10 | playheadTime : Number 效果的當前時間位置。 |
| 11 | relevantProperties : Array 執行過濾時要使用的屬性名稱陣列。 |
| 12 | relevantStyles : Array 執行過濾時要使用的樣式名稱陣列。 |
| 13 | repeatCount : int = 1 重複效果的次數。 |
| 14 | repeatDelay : int = 0 在重複效果之前等待的時間(以毫秒為單位)。 |
| 15 | startDelay : int = 0 在開始效果之前等待的時間(以毫秒為單位)。 |
| 16 | suspendBackgroundProcessing : Boolean = false 如果為 true,則在效果播放期間阻止所有後臺處理。 |
| 17 | target : Object 應用此效果的物件。 |
| 18 | targets : Array 效果目標物件的陣列。 |
| 19 | triggerEvent : Event 當觸發效果時,EffectManager 傳遞給此 Effect 的 Event 物件;如果 EffectManager 未播放效果,則為 null。 |
受保護屬性
| 序號 | 屬性 & 描述 |
|---|---|
| 1 | applyTransitionEndProperties : Boolean 此標誌控制效果在轉換中執行時是否自動根據結束狀態應用屬性值,而不是保留效果本身設定的值。 |
| 2 | endValuesCaptured : Boolean = false 一個標誌,如果效果的結束值已經確定,則包含 true;如果應在效果執行時從效果目標的當前屬性獲取結束值,則為 false。 |
公共方法
| 序號 | 方法 & 描述 |
|---|---|
| 1 | Effect(target:Object = null) 建構函式。 |
| 2 | captureEndValues():void 捕獲效果目標上相關屬性的當前值,並將其儲存為結束值。 |
| 3 | captureMoreStartValues(targets:Array):void 捕獲附加目標集的相關屬性的當前值。當執行資料更改效果時,Flex 使用此函式。 |
| 4 | captureStartValues():void 捕獲效果目標上相關屬性的當前值。 |
| 5 | createInstance(target:Object = null):IEffectInstance 建立一個效果例項並對其進行初始化。 |
| 6 | createInstances(targets:Array = null):Array 獲取目標物件陣列,並對每個目標呼叫 createInstance() 方法。 |
| 7 | deleteInstance(instance:IEffectInstance):void 從例項中刪除事件監聽器,並將其從例項列表中刪除。 |
| 8 | end(effectInstance:IEffectInstance = null):void 中斷當前正在播放的效果,並立即跳轉到效果的結尾。 |
| 9 | getAffectedProperties():Array 返回一個字串陣列,其中每個字串都是此效果更改的屬性的名稱。 |
| 10 | pause():void 暫停效果,直到您呼叫 resume() 方法。 |
| 11 | play(targets:Array = null, playReversedFromEnd:Boolean = false):Array 開始播放效果。 |
| 12 | resume():void 在透過呼叫 pause() 方法暫停效果後恢復效果。 |
| 13 | reverse():void 如果效果當前正在播放,則反向播放效果,從效果的當前位置開始。 |
| 14 | stop():void 停止效果,使效果目標保持其當前狀態。 |
受保護方法
| 序號 | 方法 & 描述 |
|---|---|
| 1 | applyValueToTarget(target:Object, property:String, value:*, props:Object):void 由 Effect 基礎結構內部使用。 |
| 2 | effectEndHandler(event:EffectEvent):void 當效果例項播放完畢時呼叫。 |
| 3 | effectStartHandler(event:EffectEvent):void 當效果例項開始播放時呼叫此方法。 |
| 4 | effectStopHandler(event:EffectEvent):void 當透過呼叫 stop() 方法停止效果例項時呼叫。 |
| 5 | filterInstance(propChanges:Array, target:Object):Boolean 確定過濾效果例項的邏輯。 |
| 6 | getValueFromTarget(target:Object, property:String):* 由 captureStartValues() 方法呼叫,以從目標獲取屬性的值。 |
| 7 | initInstance(instance:IEffectInstance):void 將效果的屬性複製到效果例項。 |
事件
| 序號 | 事件 & 描述 |
|---|---|
| 1 | effectEnd 當效果的其中一個例項完成播放時排程,無論是例項完成播放還是透過呼叫 end() 方法中斷效果時。 |
| 2 | effectStart 當效果開始播放時排程。 |
| 3 | effectStop 當效果被停止時排程,這僅在透過呼叫 stop() 方法中斷效果時發生。 |
繼承的方法
此類繼承自以下類的方法:
- flash.events.EventDispatcher
- Object