愛招飛幫助手冊 愛招飛幫助手冊
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • FastERP-1
  • Smart
  • PinToo
  • FastWeb
  • FastERP-2 企業管理系統 (opens new window)
  • 印染業ERP (opens new window)
  • 工廠終端機 (opens new window)
  • TARS
  • MARS
  • TaskRunner
  • Flying
  • FastDesk
  • HiDesk
  • HiNAT
  • FastBPM
  • 設備故障診斷 (opens new window)
  • 設備最佳運轉效益 (opens new window)
  • 企業智能助手SmeGPT (opens new window)
  • 燈號管理 (opens new window)
  • 戰情室 (opens new window)
  • 能源管理 (opens new window)
  • 人車定位 (opens new window)
  • 戰情指揮系統 (opens new window)
  • FastERP-1
  • FastWeb
  • Smart
  • PinToo
  • Flying
  • TARS
  • 通用功能

    • Report
    • Script
    • Echarts
    • Chart
    • DB Install
  • PinToo幫助主頁
  • 學習手冊

    • 基本入門

    • 功能介紹

    • 控制元件說明

      • 公共屬性
      • 標準控制元件
      • 系統控制元件
      • 附加控制元件
      • 佈局控制元件
      • 形狀控制元件
      • 數據控制控制元件
      • 手勢控制元件
      • 儀表盤控制元件
      • 快速設計控制元件
      • 多媒體控制元件
      • 物聯網控制元件
      • 地圖控制元件
      • 數據表格控制元件
      • 特效控制元件
      • 動畫控制元件
        • 1. TfxColorAnimation
          • 1.1. 屬性(Properties)
          • 1.1.1. AnimationType屬性
          • 1.1.2. AutoReverse屬性
          • 1.1.3. Delay屬性
          • 1.1.4. Duration屬性
          • 1.1.5. Enabled屬性
          • 1.1.6. Interpolation屬性
          • 1.1.7. Inverse屬性
          • 1.1.8. Loop屬性
          • 1.1.9. PropertyName屬性
          • 1.1.10. StartFromCurrent屬性
          • 1.1.11. StartValue屬性
          • 1.1.12. StopValue屬性
          • 1.1.13. Trigger屬性
          • 1.1.14. TriggerInverse屬性
          • 1.2. 事件(Events)
          • 1.2.1. OnFinish事件
          • 1.2.2. OnProcess事件
          • 1.3. 方法(Methods)
          • 1.3.1. Start
          • 1.3.2. Stop
          • 1.3.3. StopAtCurrent
        • 2. TfxGradientAnimation
          • 2.1. 屬性(Properties)
          • 2.1.1. AnimationType屬性
          • 2.1.2. AutoReverse屬性
          • 2.1.3. Delay屬性
          • 2.1.4. Duration屬性
          • 2.1.5. Enabled屬性
          • 2.1.6. Interpolation屬性
          • 2.1.7. Inverse屬性
          • 2.1.8. Loop屬性
          • 2.1.9. PropertyName屬性
          • 2.1.10. StartFromCurrent屬性
          • 2.1.11. StartValue屬性
          • 2.1.12. StopValue屬性
          • 2.1.13. Trigger屬性
          • 2.1.14. TriggerInverse屬性
          • 2.2. 事件(Events)
          • 2.2.1. OnFinish事件
          • 2.2.2. OnProcess事件
          • 2.3. 方法(Methods)
          • 2.3.1. Start
          • 2.3.2. Stop
          • 2.3.3. StopAtCurrent
        • 3. TfxFloatAnimation
          • 3.1. 屬性(Properties)
          • 3.1.1. AnimationType屬性
          • 3.1.2. AutoReverse屬性
          • 3.1.3. Delay屬性
          • 3.1.4. Duration屬性
          • 3.1.5. Enabled屬性
          • 3.1.6. Interpolation屬性
          • 3.1.7. Inverse屬性
          • 3.1.8. Loop屬性
          • 3.1.9. PropertyName屬性
          • 3.1.10. StartFromCurrent屬性
          • 3.1.11. StartValue屬性
          • 3.1.12. StopValue屬性
          • 3.1.13. Trigger屬性
          • 3.1.14. TriggerInverse屬性
          • 3.2. 事件(Events)
          • 3.2.1. OnFinish事件
          • 3.2.2. OnProcess事件
          • 3.3. 方法(Methods)
          • 3.3.1. Start
          • 3.3.2. Stop
          • 3.3.3. StopAtCurrent
        • 4. TfxRectAnimation
          • 4.1. 屬性(Properties)
          • 4.1.1. AnimationType屬性
          • 4.1.2. AutoReverse屬性
          • 4.1.3. Delay屬性
          • 4.1.4. Duration屬性
          • 4.1.5. Enabled屬性
          • 4.1.6. Interpolation屬性
          • 4.1.7. Inverse屬性
          • 4.1.8. Loop屬性
          • 4.1.9. PropertyName屬性
          • 4.1.10. StartFromCurrent屬性
          • 4.1.11. StartValue屬性
          • 4.1.12. StopValue屬性
          • 4.1.13. Trigger屬性
          • 4.1.14. TriggerInverse屬性
          • 4.2. 事件(Events)
          • 4.2.1. OnFinish事件
          • 4.2.2. OnProcess事件
          • 4.3. 方法(Methods)
          • 4.3.1. Start
          • 4.3.2. Stop
          • 4.3.3. StopAtCurrent
        • 5. TfxBitmapAnimation
          • 5.1. 屬性(Properties)
          • 5.1.1. AnimationType屬性
          • 5.1.2. AutoReverse屬性
          • 5.1.3. Delay屬性
          • 5.1.4. Duration屬性
          • 5.1.5. Enabled屬性
          • 5.1.6. Interpolation屬性
          • 5.1.7. Inverse屬性
          • 5.1.8. Loop屬性
          • 5.1.9. PropertyName屬性
          • 5.1.10. StartValue屬性
          • 5.1.11. StopValue屬性
          • 5.1.12. Trigger屬性
          • 5.1.13. TriggerInverse屬性
          • 5.2. 事件(Events)
          • 5.2.1. OnFinish事件
          • 5.2.2. OnProcess事件
          • 5.3. 方法(Methods)
          • 5.3.1. Start
          • 5.3.2. Stop
          • 5.3.3. StopAtCurrent
        • 6. TfxBitmapListAnimation
        • 7. TfxColorKeyAnimation
          • 7.1. 屬性(Properties)
          • 7.1.1. AnimationType屬性
          • 7.1.2. AutoReverse屬性
          • 7.1.3. Delay屬性
          • 7.1.4. Duration屬性
          • 7.1.5. Enabled屬性
          • 7.1.6. Interpolation屬性
          • 7.1.7. Inverse屬性
          • 7.1.8. Loop屬性
          • 7.1.9. PropertyName屬性
          • 7.1.10. StartFromCurrent屬性
          • 7.1.11. Trigger屬性
          • 7.1.12. TriggerInverse屬性
          • 7.2. 事件(Events)
          • 7.2.1. OnFinish事件
          • 7.2.2. OnProcess事件
          • 7.3. 方法(Methods)
          • 7.3.1. Start
          • 7.3.2. Stop
          • 7.3.3. StopAtCurrent
        • 8. TfxFloatKeyAnimation
          • 8.1. 屬性(Properties)
          • 8.1.1. AnimationType屬性
          • 8.1.2. AutoReverse屬性
          • 8.1.3. Delay屬性
          • 8.1.4. Duration屬性
          • 8.1.5. Enabled屬性
          • 8.1.6. Interpolation屬性
          • 8.1.7. Inverse屬性
          • 8.1.8. Loop屬性
          • 8.1.9. PropertyName屬性
          • 8.1.10. StartFromCurrent屬性
          • 8.1.11. Trigger屬性
          • 8.1.12. TriggerInverse屬性
          • 8.2. 事件(Events)
          • 8.2.1. OnFinish事件
          • 8.2.2. OnProcess事件
          • 8.3. 方法(Methods)
          • 8.3.1. Start
          • 8.3.2. Stop
          • 8.3.3. StopAtCurrent
        • 9. TfxPathAnimation
          • 9.1. 屬性(Properties)
          • 9.1.1. AnimationType屬性
          • 9.1.2. AutoReverse屬性
          • 9.1.3. Delay屬性
          • 9.1.4. Duration屬性
          • 9.1.5. Enabled屬性
          • 9.1.6. Interpolation屬性
          • 9.1.7. Inverse屬性
          • 9.1.8. Loop屬性
          • 9.1.9. Path屬性
          • 9.1.10. Rotate屬性
          • 9.1.11. Trigger屬性
          • 9.1.12. TriggerInverse屬性
          • 9.2. 事件(Events)
          • 9.2.1. OnFinish事件
          • 9.2.2. OnProcess事件
          • 9.3. 方法(Methods)
          • 9.3.1. Start
          • 9.3.2. Stop
          • 9.3.3. StopAtCurrent
      • SVG控制元件
      • IsoBean控制元件
    • 功能用法

    • 專用模板

    • 開發流程

    • 函式程式

  • 開發手冊

目录

動畫控制元件

# PinToo 控制元件使用(動畫元件)

  此組中包含了用於顯示控制元件動態效果的特效控制元件。

# 1. TfxColorAnimation

  附加到對象的TColor型別屬性以隨時間改變其值。

# 1.1. 屬性(Properties)

  • TfxColorAnimation元件主要屬性
屬性 功能說明
AnimationType 設定此動畫的插值表達式如何應用於動畫屬性
AutoReverse 動畫開始到結束,結束再到開始
Delay 在啟動動畫之前要等待的秒數
Duration 設定動畫從開始到結束的總時長(單位:秒)
Enabled 啟動動畫
Interpolation 設定動畫型別,可以實現很多特殊效果,如心跳,線性。
Inverse 向後而不是向前動畫
Loop 無限重複播放動畫
PropertyName 指定將對其應用動畫的屬性
StartFromCurrent 從其目前值開始動畫此屬性
StartValue 從此值開始此屬性的動畫
StopValue 達到該值時,終止此屬性的動畫
Trigger 用於啟動動畫的父對象的屬性狀態
TriggerInverse 用於啟動動畫逆過程的父對象的屬性狀態

# 1.1.1. AnimationType屬性

  確定如何應用動畫的插值。使用TAnimationType可以指定屬性的值如何從其起始值更改為結束值(StopValue)。想像一下二次函式的圖:y = x * 2。圖的斜率在x = 0處為零。這意味著y在x = 0附近變化非常緩慢。隨著x的增加,斜率變得越來越陡峭,這意味著y的變化越來越快。x表示動畫中的時間,而y是被動畫設定的屬性的值。

  當TAnimationType為In且TInterpolationType為Quadratic時,此動畫所應用的屬性的值(PropertyName)在起點附近緩慢變化(等效于x = 0的四角函式)。在TAnimationType為Out的情況下,端點附近的更改緩慢。對於InOut的TAnimationType,兩端的更改都很緩慢。曲線圍繞中心點映象,並在中間相交。

TAnimationType可以採用以下值之一:

  • In: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值開始
  • Out: 應用於此動畫的TInterpolationType的曲線從動畫屬性的結束值開始,然後向後退回到起始值。
  • InOut: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值和結束值開始,並在中心點相交。

# 1.1.2. AutoReverse屬性

  將常規動畫完成後,將AutoReverse設定為True,以從StopValue到StartValue向後動畫化受控屬性。前進和後退動畫各自花費持續時間(秒)。如果Loop為True,則前後動畫交替進行。向後動畫完成後,將呼叫OnFinish事件。

# 1.1.3. Delay屬性

  開始動畫之前要等待的秒數。

  延遲是一個實數,表示開始動畫之前要等待的秒數。該時間段是從執行Start方法開始的,或者,如果Enabled為True,則是從運行時的開始開始計算的。如果Loop為True,則延遲僅應用於動畫的開始。

# 1.1.4. Duration屬性

  從起始值到終止值的動畫時間(以秒為單位)。

# 1.1.5. Enabled屬性

  將動畫實體建立並附加到父實體后立即啟動動畫的設定為True。在設計時,在TAnimation的對象檢查器中或動態建立TAnimation時啟用。如果將Enabled設定為True,則不必執行TAnimation Start方法。你也可以將Enabled設為True來啟動動畫,但是你必須將Enabled設為False,然後再次設為True來運行動畫。另外,如果在動畫完成之前將Enabled設定為False,那麼如果StartFromCurrent為True,則將啟用True,否則將從StartValue重新運行動畫。

# 1.1.6. Interpolation屬性

  動畫的插值屬性的型別。

  確定如何隨時間將屬性的當前值(或StartValue)更改為目標值(StopValue)的速率。在繪製屬性值的圖形上,將動畫應用於(使用TAnimation PropertyName屬性)一個端點,該端點由t = 0處的起始值表示。另一個端點是t = 持續時間秒數時的停止值。許多不同的路徑可以連線這兩點。唯一的要求就是時間在不斷前進! TInterpolationType提供了多種路徑可供選擇。

  使用TInterpolationType為Linear時,屬性的值隨時間線性變化,起點和終點之間的路徑是一條直線。TInterpolationType的此值和其他值如下所述。

  TInterpolationType屬性值:

  • Linear(線性的):線性插值。此動畫應用於的屬性值會隨著時間不斷變化。
  • Quadratic(二次方的):二次函式應用於起點和終點之間的路徑。路徑的斜率在起點處為零,並隨時間不斷增加。將標量應用於該函式以使端點落在路徑上。
  • Cubic(立方體) :插值的形式為y = x * 3。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quartic(四次) :插值的形式為y = x * 4。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quintic(五重奏) :插值的形式為y = x * 5。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Sinusoidal(正弦曲線): 插值的形式為y = sin(x)。路徑的斜率在起點處為零,而正弦曲線的第一個拐點(x = pi)在終點處。
  • Exponential(指數的):插值的形式為y = e * x。路徑的斜率在起點處為1,並且比路徑上的二次函式快得多。
  • Circular(圓):此插值的起點和終點之間的路徑是四分之一圓。路徑的斜率在起點為零,在終點為頂點。
  • Elastic(有彈性):該路徑遵循漸進正弦幾何插值。路徑的正弦振幅可以在開始時較小,在結束時較大,反之亦然,具體取決於動畫型別(輸入/輸出)。
  • Back(背部):該路徑不遵循幾何插值。值(y座標)增加,向著起始值移動,但是時間(x值)必須始終沿正方向移動。
  • Bounce(彈跳):路徑描繪了一個彈跳球。該路徑由曲率遠離連線起點和終點的直線的圓形曲線組成。這些曲線由尖點連線。

# 1.1.7. Inverse屬性

  將Inverse設定為True可以使受控屬性從StopValue到StartValue向後進行動畫處理。向後動畫需要持續時間(秒)。向後動畫完成後,將呼叫OnFinish。

# 1.1.8. Loop屬性

  無限重複播放動畫。將Loop設定為True可以從StartValue到StopValue無限期重複動畫。該OnFinish事件處理程式不會被呼叫環是真。要停止循環播放的動畫,請呼叫Stop。

# 1.1.9. PropertyName屬性

  指定將對其應用動畫的屬性。

# 1.1.10. StartFromCurrent屬性

  如果StartFromCurrent為True,則將StartValue屬性設定為父級的受控屬性的當前值,然後從那裡開始動畫。

# 1.1.11. StartValue屬性

  從此值開始此屬性的動畫。

  對於TFloatAnimation,StartValue是一個實數,包含用於開始對受控屬性進行動畫處理的值。如果StartFromCurrent為True,則在動畫開始時將StartValue重新分配給屬性的當前值。

# 1.1.12. StopValue屬性

  達到該值時,終止此屬性的動畫。

  受控屬性值的動畫在StopValue的值處完成。如果在「 持續時間」秒數結束之前呼叫了Stop,則該屬性的值將跳至StopValue值。

# 1.1.13. Trigger屬性

  用於啟動動畫的父對象的屬性狀態。

  觸發器是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  觸發器用於確定何時開始動畫。當此屬性具有指示的狀態時,動畫將開始處理。

# 1.1.14. TriggerInverse屬性

  用於啟動動畫逆過程的父對象的屬性狀態。

  TriggerInverse是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  TriggerInverse用於確定何時開始動畫的逆過程。例如,如果將Trigger設定為'IsMouseOver=true',並且動畫將父按鈕的紅色更改為藍色,則Trigger或其動畫中沒有任何內容可以將按鈕重新變回紅色。如果TriggerInverse字串設定為'IsMouseOver=false',則當滑鼠離開按鈕時,動畫的逆序開始。

# 1.2. 事件(Events)

  • TfxColorAnimation元件主要事件
事件 何時觸發
OnFinish 動畫停止后呼叫的事件處理程式
OnProcess 在處理動畫期間呼叫的事件處理程式

# 1.2.1. OnFinish事件

  動畫停止后呼叫的事件處理程式。

  動畫在開始後會持續一段持續時間(秒),而在呼叫「 開始」的過程完成很長時間之後。動畫完成後,將所需的所有處理放入OnFinish事件處理程式中。如果Loop屬性為True,則不會呼叫OnFinish,除非呼叫Stop方法。

# 1.2.2. OnProcess事件

  在處理動畫期間呼叫的事件處理程式。

  動畫控制的值更改時,將反覆呼叫OnProcess。如果動畫改變了父對象的外觀,則父對像將自動重新繪製。如果在OnProcess內部進行處理導致在父級邊界框外進行繪製,請呼叫表單的Invalidate方法。

# 1.3. 方法(Methods)

  • TfxColorAnimation元件主要方法
方法 功能說明
Start 開始運行動畫
Stop 停止動畫的運行
StopAtCurrent 動畫停在目前值

# 1.3.1. Start

  開始運行動畫。

  • 動畫對象也是動畫的父對象,必須是可見的可視對象。否則,呼叫啟動無效。
  • 開始將初始化動畫處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 如果在動畫完成之前停止動畫,則如果StartFromCurrent屬性為True,則動畫將以目前值恢復,否則動畫將從StartValue重新開始。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 1.3.2. Stop

  停止動畫的運行。

  • 停止將終止動畫的處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 執行Stop時,受控屬性值立即移至StopValue。 StopAtCurrent停止在目前值。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 1.3.3. StopAtCurrent

  動畫停在目前值。

  StopAtCurrent會立即以目前值停止動畫。這不同於Stop,後者立即移動到StopValue然後停止。


# 2. TfxGradientAnimation

  附加到對象的顏色漸變屬性以隨時間更改其值。

# 2.1. 屬性(Properties)

  • TfxGradientAnimation元件主要屬性
屬性 功能說明
AnimationType 設定此動畫的插值表達式如何應用於動畫屬性
AutoReverse 動畫開始到結束,結束再到開始
Delay 在啟動動畫之前要等待的秒數
Duration 設定動畫從開始到結束的總時長(單位:秒)
Enabled 啟動動畫
Interpolation 設定動畫型別,可以實現很多特殊效果,如心跳,線性。
Inverse 向後而不是向前動畫
Loop 無限重複播放動畫
PropertyName 指定將對其應用動畫的屬性
StartFromCurrent 從其目前值開始動畫此屬性
StartValue 從此值開始此屬性的動畫
StopValue 達到該值時,終止此屬性的動畫
Trigger 用於啟動動畫的父對象的屬性狀態
TriggerInverse 用於啟動動畫逆過程的父對象的屬性狀態

# 2.1.1. AnimationType屬性

  確定如何應用動畫的插值。使用TAnimationType可以指定屬性的值如何從其起始值更改為結束值(StopValue)。想像一下二次函式的圖:y = x * 2。圖的斜率在x = 0處為零。這意味著y在x = 0附近變化非常緩慢。隨著x的增加,斜率變得越來越陡峭,這意味著y的變化越來越快。x表示動畫中的時間,而y是被動畫設定的屬性的值。

  當TAnimationType為In且TInterpolationType為Quadratic時,此動畫所應用的屬性的值(PropertyName)在起點附近緩慢變化(等效于x = 0的四角函式)。在TAnimationType為Out的情況下,端點附近的更改緩慢。對於InOut的TAnimationType,兩端的更改都很緩慢。曲線圍繞中心點映象,並在中間相交。

TAnimationType可以採用以下值之一:

  • In: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值開始
  • Out: 應用於此動畫的TInterpolationType的曲線從動畫屬性的結束值開始,然後向後退回到起始值。
  • InOut: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值和結束值開始,並在中心點相交。

# 2.1.2. AutoReverse屬性

  將常規動畫完成後,將AutoReverse設定為True,以從StopValue到StartValue向後動畫化受控屬性。前進和後退動畫各自花費持續時間(秒)。如果Loop為True,則前後動畫交替進行。向後動畫完成後,將呼叫OnFinish事件。

# 2.1.3. Delay屬性

  開始動畫之前要等待的秒數。

  延遲是一個實數,表示開始動畫之前要等待的秒數。該時間段是從執行Start方法開始的,或者,如果Enabled為True,則是從運行時的開始開始計算的。如果Loop為True,則延遲僅應用於動畫的開始。

# 2.1.4. Duration屬性

  從起始值到終止值的動畫時間(以秒為單位)。

# 2.1.5. Enabled屬性

  將動畫實體建立並附加到父實體后立即啟動動畫的設定為True。在設計時,在TAnimation的對象檢查器中或動態建立TAnimation時啟用。如果將Enabled設定為True,則不必執行TAnimation Start方法。你也可以將Enabled設為True來啟動動畫,但是你必須將Enabled設為False,然後再次設為True來運行動畫。另外,如果在動畫完成之前將Enabled設定為False,那麼如果StartFromCurrent為True,則將啟用True,否則將從StartValue重新運行動畫。

# 2.1.6. Interpolation屬性

  動畫的插值屬性的型別。

  確定如何隨時間將屬性的當前值(或StartValue)更改為目標值(StopValue)的速率。在繪製屬性值的圖形上,將動畫應用於(使用TAnimation PropertyName屬性)一個端點,該端點由t = 0處的起始值表示。另一個端點是t = 持續時間秒數時的停止值。許多不同的路徑可以連線這兩點。唯一的要求就是時間在不斷前進! TInterpolationType提供了多種路徑可供選擇。

  使用TInterpolationType為Linear時,屬性的值隨時間線性變化,起點和終點之間的路徑是一條直線。TInterpolationType的此值和其他值如下所述。

  TInterpolationType屬性值:

  • Linear(線性的):線性插值。此動畫應用於的屬性值會隨著時間不斷變化。
  • Quadratic(二次方的):二次函式應用於起點和終點之間的路徑。路徑的斜率在起點處為零,並隨時間不斷增加。將標量應用於該函式以使端點落在路徑上。
  • Cubic(立方體) :插值的形式為y = x * 3。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quartic(四次) :插值的形式為y = x * 4。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quintic(五重奏) :插值的形式為y = x * 5。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Sinusoidal(正弦曲線): 插值的形式為y = sin(x)。路徑的斜率在起點處為零,而正弦曲線的第一個拐點(x = pi)在終點處。
  • Exponential(指數的):插值的形式為y = e * x。路徑的斜率在起點處為1,並且比路徑上的二次函式快得多。
  • Circular(圓):此插值的起點和終點之間的路徑是四分之一圓。路徑的斜率在起點為零,在終點為頂點。
  • Elastic(有彈性):該路徑遵循漸進正弦幾何插值。路徑的正弦振幅可以在開始時較小,在結束時較大,反之亦然,具體取決於動畫型別(輸入/輸出)。
  • Back(背部):該路徑不遵循幾何插值。值(y座標)增加,向著起始值移動,但是時間(x值)必須始終沿正方向移動。
  • Bounce(彈跳):路徑描繪了一個彈跳球。該路徑由曲率遠離連線起點和終點的直線的圓形曲線組成。這些曲線由尖點連線。

# 2.1.7. Inverse屬性

  將Inverse設定為True可以使受控屬性從StopValue到StartValue向後進行動畫處理。向後動畫需要持續時間(秒)。向後動畫完成後,將呼叫OnFinish。

# 2.1.8. Loop屬性

  無限重複播放動畫。將Loop設定為True可以從StartValue到StopValue無限期重複動畫。該OnFinish事件處理程式不會被呼叫環是真。要停止循環播放的動畫,請呼叫Stop。

# 2.1.9. PropertyName屬性

  指定將對其應用動畫的屬性。

# 2.1.10. StartFromCurrent屬性

  如果StartFromCurrent為True,則將StartValue屬性設定為父級的受控屬性的當前值,然後從那裡開始動畫。

# 2.1.11. StartValue屬性

  從此值開始此屬性的動畫。

  對於TFloatAnimation,StartValue是一個實數,包含用於開始對受控屬性進行動畫處理的值。如果StartFromCurrent為True,則在動畫開始時將StartValue重新分配給屬性的當前值。

# 2.1.12. StopValue屬性

  達到該值時,終止此屬性的動畫。

  受控屬性值的動畫在StopValue的值處完成。如果在「 持續時間」秒數結束之前呼叫了Stop,則該屬性的值將跳至StopValue值。

# 2.1.13. Trigger屬性

  用於啟動動畫的父對象的屬性狀態。

  觸發器是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  觸發器用於確定何時開始動畫。當此屬性具有指示的狀態時,動畫將開始處理。

# 2.1.14. TriggerInverse屬性

  用於啟動動畫逆過程的父對象的屬性狀態。

  TriggerInverse是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  TriggerInverse用於確定何時開始動畫的逆過程。例如,如果將Trigger設定為'IsMouseOver=true',並且動畫將父按鈕的紅色更改為藍色,則Trigger或其動畫中沒有任何內容可以將按鈕重新變回紅色。如果TriggerInverse字串設定為'IsMouseOver=false',則當滑鼠離開按鈕時,動畫的逆序開始。

# 2.2. 事件(Events)

  • TfxGradientAnimation元件主要事件
事件 何時觸發
OnFinish 動畫停止后呼叫的事件處理程式
OnProcess 在處理動畫期間呼叫的事件處理程式

# 2.2.1. OnFinish事件

  動畫停止后呼叫的事件處理程式。

  動畫在開始後會持續一段持續時間(秒),而在呼叫「 開始」的過程完成很長時間之後。動畫完成後,將所需的所有處理放入OnFinish事件處理程式中。如果Loop屬性為True,則不會呼叫OnFinish,除非呼叫Stop方法。

# 2.2.2. OnProcess事件

  在處理動畫期間呼叫的事件處理程式。

  動畫控制的值更改時,將反覆呼叫OnProcess。如果動畫改變了父對象的外觀,則父對像將自動重新繪製。如果在OnProcess內部進行處理導致在父級邊界框外進行繪製,請呼叫表單的Invalidate方法。

# 2.3. 方法(Methods)

  • TfxGradientAnimation元件主要方法
方法 功能說明
Start 開始運行動畫
Stop 停止動畫的運行
StopAtCurrent 動畫停在目前值

# 2.3.1. Start

  開始運行動畫。

  • 動畫對象也是動畫的父對象,必須是可見的可視對象。否則,呼叫啟動無效。
  • 開始將初始化動畫處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 如果在動畫完成之前停止動畫,則如果StartFromCurrent屬性為True,則動畫將以目前值恢復,否則動畫將從StartValue重新開始。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 2.3.2. Stop

  停止動畫的運行。

  • 停止將終止動畫的處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 執行Stop時,受控屬性值立即移至StopValue。 StopAtCurrent停止在目前值。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 2.3.3. StopAtCurrent

  動畫停在目前值。

  StopAtCurrent會立即以目前值停止動畫。這不同於Stop,後者立即移動到StopValue然後停止。


# 3. TfxFloatAnimation

  TfxFloatAnimation用於改動TFmxObject型別對象的數值型別的屬性值。

  必需將TfxFloatAnimation拖放到fxRectangle1上,才可以實現動畫控制效果。

# 3.1. 屬性(Properties)

  • TfxFloatAnimation元件主要屬性
屬性 功能說明
AnimationType 設定此動畫的插值表達式如何應用於動畫屬性
AutoReverse 動畫開始到結束,結束再到開始
Delay 在啟動動畫之前要等待的秒數
Duration 設定動畫從開始到結束的總時長(單位:秒)
Enabled 啟動動畫
Interpolation 設定動畫型別,可以實現很多特殊效果,如心跳,線性。
Inverse 向後而不是向前動畫
Loop 無限重複播放動畫
PropertyName 指定將對其應用動畫的屬性
StartFromCurrent 從其目前值開始動畫此屬性
StartValue 從此值開始此屬性的動畫
StopValue 達到該值時,終止此屬性的動畫
Trigger 用於啟動動畫的父對象的屬性狀態
TriggerInverse 用於啟動動畫逆過程的父對象的屬性狀態

# 3.1.1. AnimationType屬性

  確定如何應用動畫的插值。使用TAnimationType可以指定屬性的值如何從其起始值更改為結束值(StopValue)。想像一下二次函式的圖:y = x * 2。圖的斜率在x = 0處為零。這意味著y在x = 0附近變化非常緩慢。隨著x的增加,斜率變得越來越陡峭,這意味著y的變化越來越快。x表示動畫中的時間,而y是被動畫設定的屬性的值。

  當TAnimationType為In且TInterpolationType為Quadratic時,此動畫所應用的屬性的值(PropertyName)在起點附近緩慢變化(等效于x = 0的四角函式)。在TAnimationType為Out的情況下,端點附近的更改緩慢。對於InOut的TAnimationType,兩端的更改都很緩慢。曲線圍繞中心點映象,並在中間相交。

TAnimationType可以採用以下值之一:

  • In: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值開始
  • Out: 應用於此動畫的TInterpolationType的曲線從動畫屬性的結束值開始,然後向後退回到起始值。
  • InOut: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值和結束值開始,並在中心點相交。

# 3.1.2. AutoReverse屬性

  將常規動畫完成後,將AutoReverse設定為True,以從StopValue到StartValue向後動畫化受控屬性。前進和後退動畫各自花費持續時間(秒)。如果Loop為True,則前後動畫交替進行。向後動畫完成後,將呼叫OnFinish事件。

# 3.1.3. Delay屬性

  開始動畫之前要等待的秒數。

  延遲是一個實數,表示開始動畫之前要等待的秒數。該時間段是從執行Start方法開始的,或者,如果Enabled為True,則是從運行時的開始開始計算的。如果Loop為True,則延遲僅應用於動畫的開始。

# 3.1.4. Duration屬性

  從起始值到終止值的動畫時間(以秒為單位)。

# 3.1.5. Enabled屬性

  將動畫實體建立並附加到父實體后立即啟動動畫的設定為True。在設計時,在TAnimation的對象檢查器中或動態建立TAnimation時啟用。如果將Enabled設定為True,則不必執行TAnimation Start方法。你也可以將Enabled設為True來啟動動畫,但是你必須將Enabled設為False,然後再次設為True來運行動畫。另外,如果在動畫完成之前將Enabled設定為False,那麼如果StartFromCurrent為True,則將啟用True,否則將從StartValue重新運行動畫。

# 3.1.6. Interpolation屬性

  動畫的插值屬性的型別。

  確定如何隨時間將屬性的當前值(或StartValue)更改為目標值(StopValue)的速率。在繪製屬性值的圖形上,將動畫應用於(使用TAnimation PropertyName屬性)一個端點,該端點由t = 0處的起始值表示。另一個端點是t = 持續時間秒數時的停止值。許多不同的路徑可以連線這兩點。唯一的要求就是時間在不斷前進! TInterpolationType提供了多種路徑可供選擇。

  使用TInterpolationType為Linear時,屬性的值隨時間線性變化,起點和終點之間的路徑是一條直線。TInterpolationType的此值和其他值如下所述。

  TInterpolationType屬性值:

  • Linear(線性的):線性插值。此動畫應用於的屬性值會隨著時間不斷變化。
  • Quadratic(二次方的):二次函式應用於起點和終點之間的路徑。路徑的斜率在起點處為零,並隨時間不斷增加。將標量應用於該函式以使端點落在路徑上。
  • Cubic(立方體) :插值的形式為y = x * 3。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quartic(四次) :插值的形式為y = x * 4。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quintic(五重奏) :插值的形式為y = x * 5。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Sinusoidal(正弦曲線): 插值的形式為y = sin(x)。路徑的斜率在起點處為零,而正弦曲線的第一個拐點(x = pi)在終點處。
  • Exponential(指數的):插值的形式為y = e * x。路徑的斜率在起點處為1,並且比路徑上的二次函式快得多。
  • Circular(圓):此插值的起點和終點之間的路徑是四分之一圓。路徑的斜率在起點為零,在終點為頂點。
  • Elastic(有彈性):該路徑遵循漸進正弦幾何插值。路徑的正弦振幅可以在開始時較小,在結束時較大,反之亦然,具體取決於動畫型別(輸入/輸出)。
  • Back(背部):該路徑不遵循幾何插值。值(y座標)增加,向著起始值移動,但是時間(x值)必須始終沿正方向移動。
  • Bounce(彈跳):路徑描繪了一個彈跳球。該路徑由曲率遠離連線起點和終點的直線的圓形曲線組成。這些曲線由尖點連線。

# 3.1.7. Inverse屬性

  將Inverse設定為True可以使受控屬性從StopValue到StartValue向後進行動畫處理。向後動畫需要持續時間(秒)。向後動畫完成後,將呼叫OnFinish。

# 3.1.8. Loop屬性

  無限重複播放動畫。將Loop設定為True可以從StartValue到StopValue無限期重複動畫。該OnFinish事件處理程式不會被呼叫環是真。要停止循環播放的動畫,請呼叫Stop。

# 3.1.9. PropertyName屬性

  指定將對其應用動畫的屬性。

# 3.1.10. StartFromCurrent屬性

  如果StartFromCurrent為True,則將StartValue屬性設定為父級的受控屬性的當前值,然後從那裡開始動畫。

# 3.1.11. StartValue屬性

  從此值開始此屬性的動畫。

  對於TFloatAnimation,StartValue是一個實數,包含用於開始對受控屬性進行動畫處理的值。如果StartFromCurrent為True,則在動畫開始時將StartValue重新分配給屬性的當前值。

# 3.1.12. StopValue屬性

  達到該值時,終止此屬性的動畫。

  受控屬性值的動畫在StopValue的值處完成。如果在「 持續時間」秒數結束之前呼叫了Stop,則該屬性的值將跳至StopValue值。

# 3.1.13. Trigger屬性

  用於啟動動畫的父對象的屬性狀態。

  觸發器是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  觸發器用於確定何時開始動畫。當此屬性具有指示的狀態時,動畫將開始處理。

# 3.1.14. TriggerInverse屬性

  用於啟動動畫逆過程的父對象的屬性狀態。

  TriggerInverse是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  TriggerInverse用於確定何時開始動畫的逆過程。例如,如果將Trigger設定為'IsMouseOver=true',並且動畫將父按鈕的紅色更改為藍色,則Trigger或其動畫中沒有任何內容可以將按鈕重新變回紅色。如果TriggerInverse字串設定為'IsMouseOver=false',則當滑鼠離開按鈕時,動畫的逆序開始。

# 3.2. 事件(Events)

  • TfxFloatAnimation元件主要事件
事件 何時觸發
OnFinish 動畫停止后呼叫的事件處理程式
OnProcess 在處理動畫期間呼叫的事件處理程式

# 3.2.1. OnFinish事件

  動畫停止后呼叫的事件處理程式。

  動畫在開始後會持續一段持續時間(秒),而在呼叫「 開始」的過程完成很長時間之後。動畫完成後,將所需的所有處理放入OnFinish事件處理程式中。如果Loop屬性為True,則不會呼叫OnFinish,除非呼叫Stop方法。

# 3.2.2. OnProcess事件

  在處理動畫期間呼叫的事件處理程式。

  動畫控制的值更改時,將反覆呼叫OnProcess。如果動畫改變了父對象的外觀,則父對像將自動重新繪製。如果在OnProcess內部進行處理導致在父級邊界框外進行繪製,請呼叫表單的Invalidate方法。

# 3.3. 方法(Methods)

  • TfxFloatAnimation元件主要方法
方法 功能說明
Start 開始運行動畫
Stop 停止動畫的運行
StopAtCurrent 動畫停在目前值

# 3.3.1. Start

  開始運行動畫。

  • 動畫對象也是動畫的父對象,必須是可見的可視對象。否則,呼叫啟動無效。
  • 開始將初始化動畫處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 如果在動畫完成之前停止動畫,則如果StartFromCurrent屬性為True,則動畫將以目前值恢復,否則動畫將從StartValue重新開始。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 3.3.2. Stop

  停止動畫的運行。

  • 停止將終止動畫的處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 執行Stop時,受控屬性值立即移至StopValue。 StopAtCurrent停止在目前值。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 3.3.3. StopAtCurrent

  動畫停在目前值。

  StopAtCurrent會立即以目前值停止動畫。這不同於Stop,後者立即移動到StopValue然後停止。


# 4. TfxRectAnimation

  附加到對象的TBounds屬性以隨時間更改其邊界。

# 4.1. 屬性(Properties)

  • TfxRectAnimation元件主要屬性
屬性 功能說明
AnimationType 設定此動畫的插值表達式如何應用於動畫屬性
AutoReverse 動畫開始到結束,結束再到開始
Delay 在啟動動畫之前要等待的秒數
Duration 設定動畫從開始到結束的總時長(單位:秒)
Enabled 啟動動畫
Interpolation 設定動畫型別,可以實現很多特殊效果,如心跳,線性。
Inverse 向後而不是向前動畫
Loop 無限重複播放動畫
PropertyName 指定將對其應用動畫的屬性
StartFromCurrent 從其目前值開始動畫此屬性
StartValue 從此值開始此屬性的動畫
StopValue 達到該值時,終止此屬性的動畫
Trigger 用於啟動動畫的父對象的屬性狀態
TriggerInverse 用於啟動動畫逆過程的父對象的屬性狀態

# 4.1.1. AnimationType屬性

  確定如何應用動畫的插值。使用TAnimationType可以指定屬性的值如何從其起始值更改為結束值(StopValue)。想像一下二次函式的圖:y = x * 2。圖的斜率在x = 0處為零。這意味著y在x = 0附近變化非常緩慢。隨著x的增加,斜率變得越來越陡峭,這意味著y的變化越來越快。x表示動畫中的時間,而y是被動畫設定的屬性的值。

  當TAnimationType為In且TInterpolationType為Quadratic時,此動畫所應用的屬性的值(PropertyName)在起點附近緩慢變化(等效于x = 0的四角函式)。在TAnimationType為Out的情況下,端點附近的更改緩慢。對於InOut的TAnimationType,兩端的更改都很緩慢。曲線圍繞中心點映象,並在中間相交。

TAnimationType可以採用以下值之一:

  • In: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值開始
  • Out: 應用於此動畫的TInterpolationType的曲線從動畫屬性的結束值開始,然後向後退回到起始值。
  • InOut: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值和結束值開始,並在中心點相交。

# 4.1.2. AutoReverse屬性

  將常規動畫完成後,將AutoReverse設定為True,以從StopValue到StartValue向後動畫化受控屬性。前進和後退動畫各自花費持續時間(秒)。如果Loop為True,則前後動畫交替進行。向後動畫完成後,將呼叫OnFinish事件。

# 4.1.3. Delay屬性

  開始動畫之前要等待的秒數。

  延遲是一個實數,表示開始動畫之前要等待的秒數。該時間段是從執行Start方法開始的,或者,如果Enabled為True,則是從運行時的開始開始計算的。如果Loop為True,則延遲僅應用於動畫的開始。

# 4.1.4. Duration屬性

  從起始值到終止值的動畫時間(以秒為單位)。

# 4.1.5. Enabled屬性

  將動畫實體建立並附加到父實體后立即啟動動畫的設定為True。在設計時,在TAnimation的對象檢查器中或動態建立TAnimation時啟用。如果將Enabled設定為True,則不必執行TAnimation Start方法。你也可以將Enabled設為True來啟動動畫,但是你必須將Enabled設為False,然後再次設為True來運行動畫。另外,如果在動畫完成之前將Enabled設定為False,那麼如果StartFromCurrent為True,則將啟用True,否則將從StartValue重新運行動畫。

# 4.1.6. Interpolation屬性

  動畫的插值屬性的型別。

  確定如何隨時間將屬性的當前值(或StartValue)更改為目標值(StopValue)的速率。在繪製屬性值的圖形上,將動畫應用於(使用TAnimation PropertyName屬性)一個端點,該端點由t = 0處的起始值表示。另一個端點是t = 持續時間秒數時的停止值。許多不同的路徑可以連線這兩點。唯一的要求就是時間在不斷前進! TInterpolationType提供了多種路徑可供選擇。

  使用TInterpolationType為Linear時,屬性的值隨時間線性變化,起點和終點之間的路徑是一條直線。TInterpolationType的此值和其他值如下所述。

  TInterpolationType屬性值:

  • Linear(線性的):線性插值。此動畫應用於的屬性值會隨著時間不斷變化。
  • Quadratic(二次方的):二次函式應用於起點和終點之間的路徑。路徑的斜率在起點處為零,並隨時間不斷增加。將標量應用於該函式以使端點落在路徑上。
  • Cubic(立方體) :插值的形式為y = x * 3。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quartic(四次) :插值的形式為y = x * 4。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quintic(五重奏) :插值的形式為y = x * 5。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Sinusoidal(正弦曲線): 插值的形式為y = sin(x)。路徑的斜率在起點處為零,而正弦曲線的第一個拐點(x = pi)在終點處。
  • Exponential(指數的):插值的形式為y = e * x。路徑的斜率在起點處為1,並且比路徑上的二次函式快得多。
  • Circular(圓):此插值的起點和終點之間的路徑是四分之一圓。路徑的斜率在起點為零,在終點為頂點。
  • Elastic(有彈性):該路徑遵循漸進正弦幾何插值。路徑的正弦振幅可以在開始時較小,在結束時較大,反之亦然,具體取決於動畫型別(輸入/輸出)。
  • Back(背部):該路徑不遵循幾何插值。值(y座標)增加,向著起始值移動,但是時間(x值)必須始終沿正方向移動。
  • Bounce(彈跳):路徑描繪了一個彈跳球。該路徑由曲率遠離連線起點和終點的直線的圓形曲線組成。這些曲線由尖點連線。

# 4.1.7. Inverse屬性

  將Inverse設定為True可以使受控屬性從StopValue到StartValue向後進行動畫處理。向後動畫需要持續時間(秒)。向後動畫完成後,將呼叫OnFinish。

# 4.1.8. Loop屬性

  無限重複播放動畫。將Loop設定為True可以從StartValue到StopValue無限期重複動畫。該OnFinish事件處理程式不會被呼叫環是真。要停止循環播放的動畫,請呼叫Stop。

# 4.1.9. PropertyName屬性

  指定將對其應用動畫的屬性。

# 4.1.10. StartFromCurrent屬性

  如果StartFromCurrent為True,則將StartValue屬性設定為父級的受控屬性的當前值,然後從那裡開始動畫。

# 4.1.11. StartValue屬性

  從此值開始此屬性的動畫。

  對於TFloatAnimation,StartValue是一個實數,包含用於開始對受控屬性進行動畫處理的值。如果StartFromCurrent為True,則在動畫開始時將StartValue重新分配給屬性的當前值。

# 4.1.12. StopValue屬性

  達到該值時,終止此屬性的動畫。

  受控屬性值的動畫在StopValue的值處完成。如果在「 持續時間」秒數結束之前呼叫了Stop,則該屬性的值將跳至StopValue值。

# 4.1.13. Trigger屬性

  用於啟動動畫的父對象的屬性狀態。

  觸發器是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  觸發器用於確定何時開始動畫。當此屬性具有指示的狀態時,動畫將開始處理。

# 4.1.14. TriggerInverse屬性

  用於啟動動畫逆過程的父對象的屬性狀態。

  TriggerInverse是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  TriggerInverse用於確定何時開始動畫的逆過程。例如,如果將Trigger設定為'IsMouseOver=true',並且動畫將父按鈕的紅色更改為藍色,則Trigger或其動畫中沒有任何內容可以將按鈕重新變回紅色。如果TriggerInverse字串設定為'IsMouseOver=false',則當滑鼠離開按鈕時,動畫的逆序開始。

# 4.2. 事件(Events)

  • TfxRectAnimation元件主要事件
事件 何時觸發
OnFinish 動畫停止后呼叫的事件處理程式
OnProcess 在處理動畫期間呼叫的事件處理程式

# 4.2.1. OnFinish事件

  動畫停止后呼叫的事件處理程式。

  動畫在開始後會持續一段持續時間(秒),而在呼叫「 開始」的過程完成很長時間之後。動畫完成後,將所需的所有處理放入OnFinish事件處理程式中。如果Loop屬性為True,則不會呼叫OnFinish,除非呼叫Stop方法。

# 4.2.2. OnProcess事件

  在處理動畫期間呼叫的事件處理程式。

  動畫控制的值更改時,將反覆呼叫OnProcess。如果動畫改變了父對象的外觀,則父對像將自動重新繪製。如果在OnProcess內部進行處理導致在父級邊界框外進行繪製,請呼叫表單的Invalidate方法。

# 4.3. 方法(Methods)

  • TfxRectAnimation元件主要方法
方法 功能說明
Start 開始運行動畫
Stop 停止動畫的運行
StopAtCurrent 動畫停在目前值

# 4.3.1. Start

  開始運行動畫。

  • 動畫對象也是動畫的父對象,必須是可見的可視對象。否則,呼叫啟動無效。
  • 開始將初始化動畫處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 如果在動畫完成之前停止動畫,則如果StartFromCurrent屬性為True,則動畫將以目前值恢復,否則動畫將從StartValue重新開始。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 4.3.2. Stop

  停止動畫的運行。

  • 停止將終止動畫的處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 執行Stop時,受控屬性值立即移至StopValue。 StopAtCurrent停止在目前值。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 4.3.3. StopAtCurrent

  動畫停在目前值。

  StopAtCurrent會立即以目前值停止動畫。這不同於Stop,後者立即移動到StopValue然後停止。


# 5. TfxBitmapAnimation

  附加到對象的TBitmap型別的屬性以隨時間改變其顯示影象。

# 5.1. 屬性(Properties)

  • TfxBitmapAnimation元件主要屬性
屬性 功能說明
AnimationType 設定此動畫的插值表達式如何應用於動畫屬性
AutoReverse 動畫開始到結束,結束再到開始
Delay 在啟動動畫之前要等待的秒數
Duration 設定動畫從開始到結束的總時長(單位:秒)
Enabled 啟動動畫
Interpolation 設定動畫型別,可以實現很多特殊效果,如心跳,線性。
Inverse 向後而不是向前動畫
Loop 無限重複播放動畫
PropertyName 指定將對其應用動畫的屬性
StartValue 從此值開始此屬性的動畫
StopValue 達到該值時,終止此屬性的動畫
Trigger 用於啟動動畫的父對象的屬性狀態
TriggerInverse 用於啟動動畫逆過程的父對象的屬性狀態

# 5.1.1. AnimationType屬性

  確定如何應用動畫的插值。使用TAnimationType可以指定屬性的值如何從其起始值更改為結束值(StopValue)。想像一下二次函式的圖:y = x * 2。圖的斜率在x = 0處為零。這意味著y在x = 0附近變化非常緩慢。隨著x的增加,斜率變得越來越陡峭,這意味著y的變化越來越快。x表示動畫中的時間,而y是被動畫設定的屬性的值。

  當TAnimationType為In且TInterpolationType為Quadratic時,此動畫所應用的屬性的值(PropertyName)在起點附近緩慢變化(等效于x = 0的四角函式)。在TAnimationType為Out的情況下,端點附近的更改緩慢。對於InOut的TAnimationType,兩端的更改都很緩慢。曲線圍繞中心點映象,並在中間相交。

TAnimationType可以採用以下值之一:

  • In: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值開始
  • Out: 應用於此動畫的TInterpolationType的曲線從動畫屬性的結束值開始,然後向後退回到起始值。
  • InOut: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值和結束值開始,並在中心點相交。

# 5.1.2. AutoReverse屬性

  將常規動畫完成後,將AutoReverse設定為True,以從StopValue到StartValue向後動畫化受控屬性。前進和後退動畫各自花費持續時間(秒)。如果Loop為True,則前後動畫交替進行。向後動畫完成後,將呼叫OnFinish事件。

# 5.1.3. Delay屬性

  開始動畫之前要等待的秒數。

  延遲是一個實數,表示開始動畫之前要等待的秒數。該時間段是從執行Start方法開始的,或者,如果Enabled為True,則是從運行時的開始開始計算的。如果Loop為True,則延遲僅應用於動畫的開始。

# 5.1.4. Duration屬性

  從起始值到終止值的動畫時間(以秒為單位)。

# 5.1.5. Enabled屬性

  將動畫實體建立並附加到父實體后立即啟動動畫的設定為True。在設計時,在TAnimation的對象檢查器中或動態建立TAnimation時啟用。如果將Enabled設定為True,則不必執行TAnimation Start方法。你也可以將Enabled設為True來啟動動畫,但是你必須將Enabled設為False,然後再次設為True來運行動畫。另外,如果在動畫完成之前將Enabled設定為False,那麼如果StartFromCurrent為True,則將啟用True,否則將從StartValue重新運行動畫。

# 5.1.6. Interpolation屬性

  動畫的插值屬性的型別。

  確定如何隨時間將屬性的當前值(或StartValue)更改為目標值(StopValue)的速率。在繪製屬性值的圖形上,將動畫應用於(使用TAnimation PropertyName屬性)一個端點,該端點由t = 0處的起始值表示。另一個端點是t = 持續時間秒數時的停止值。許多不同的路徑可以連線這兩點。唯一的要求就是時間在不斷前進! TInterpolationType提供了多種路徑可供選擇。

  使用TInterpolationType為Linear時,屬性的值隨時間線性變化,起點和終點之間的路徑是一條直線。TInterpolationType的此值和其他值如下所述。

  TInterpolationType屬性值:

  • Linear(線性的):線性插值。此動畫應用於的屬性值會隨著時間不斷變化。
  • Quadratic(二次方的):二次函式應用於起點和終點之間的路徑。路徑的斜率在起點處為零,並隨時間不斷增加。將標量應用於該函式以使端點落在路徑上。
  • Cubic(立方體) :插值的形式為y = x * 3。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quartic(四次) :插值的形式為y = x * 4。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quintic(五重奏) :插值的形式為y = x * 5。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Sinusoidal(正弦曲線): 插值的形式為y = sin(x)。路徑的斜率在起點處為零,而正弦曲線的第一個拐點(x = pi)在終點處。
  • Exponential(指數的):插值的形式為y = e * x。路徑的斜率在起點處為1,並且比路徑上的二次函式快得多。
  • Circular(圓):此插值的起點和終點之間的路徑是四分之一圓。路徑的斜率在起點為零,在終點為頂點。
  • Elastic(有彈性):該路徑遵循漸進正弦幾何插值。路徑的正弦振幅可以在開始時較小,在結束時較大,反之亦然,具體取決於動畫型別(輸入/輸出)。
  • Back(背部):該路徑不遵循幾何插值。值(y座標)增加,向著起始值移動,但是時間(x值)必須始終沿正方向移動。
  • Bounce(彈跳):路徑描繪了一個彈跳球。該路徑由曲率遠離連線起點和終點的直線的圓形曲線組成。這些曲線由尖點連線。

# 5.1.7. Inverse屬性

  將Inverse設定為True可以使受控屬性從StopValue到StartValue向後進行動畫處理。向後動畫需要持續時間(秒)。向後動畫完成後,將呼叫OnFinish。

# 5.1.8. Loop屬性

  無限重複播放動畫。將Loop設定為True可以從StartValue到StopValue無限期重複動畫。該OnFinish事件處理程式不會被呼叫環是真。要停止循環播放的動畫,請呼叫Stop。

# 5.1.9. PropertyName屬性

  指定將對其應用動畫的屬性。

# 5.1.10. StartValue屬性

  從此值開始此屬性的動畫。

  對於TFloatAnimation,StartValue是一個實數,包含用於開始對受控屬性進行動畫處理的值。如果StartFromCurrent為True,則在動畫開始時將StartValue重新分配給屬性的當前值。

# 5.1.11. StopValue屬性

  達到該值時,終止此屬性的動畫。

  受控屬性值的動畫在StopValue的值處完成。如果在「 持續時間」秒數結束之前呼叫了Stop,則該屬性的值將跳至StopValue值。

# 5.1.12. Trigger屬性

  用於啟動動畫的父對象的屬性狀態。

  觸發器是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  觸發器用於確定何時開始動畫。當此屬性具有指示的狀態時,動畫將開始處理。

# 5.1.13. TriggerInverse屬性

  用於啟動動畫逆過程的父對象的屬性狀態。

  TriggerInverse是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  TriggerInverse用於確定何時開始動畫的逆過程。例如,如果將Trigger設定為'IsMouseOver=true',並且動畫將父按鈕的紅色更改為藍色,則Trigger或其動畫中沒有任何內容可以將按鈕重新變回紅色。如果TriggerInverse字串設定為'IsMouseOver=false',則當滑鼠離開按鈕時,動畫的逆序開始。

# 5.2. 事件(Events)

  • TfxBitmapAnimation元件主要事件
事件 何時觸發
OnFinish 動畫停止后呼叫的事件處理程式
OnProcess 在處理動畫期間呼叫的事件處理程式

# 5.2.1. OnFinish事件

  動畫停止后呼叫的事件處理程式。

  動畫在開始後會持續一段持續時間(秒),而在呼叫「 開始」的過程完成很長時間之後。動畫完成後,將所需的所有處理放入OnFinish事件處理程式中。如果Loop屬性為True,則不會呼叫OnFinish,除非呼叫Stop方法。

# 5.2.2. OnProcess事件

  在處理動畫期間呼叫的事件處理程式。

  動畫控制的值更改時,將反覆呼叫OnProcess。如果動畫改變了父對象的外觀,則父對像將自動重新繪製。如果在OnProcess內部進行處理導致在父級邊界框外進行繪製,請呼叫表單的Invalidate方法。

# 5.3. 方法(Methods)

  • TfxBitmapAnimation元件主要方法
方法 功能說明
Start 開始運行動畫
Stop 停止動畫的運行
StopAtCurrent 動畫停在目前值

# 5.3.1. Start

  開始運行動畫。

  • 動畫對象也是動畫的父對象,必須是可見的可視對象。否則,呼叫啟動無效。
  • 開始將初始化動畫處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 如果在動畫完成之前停止動畫,則如果StartFromCurrent屬性為True,則動畫將以目前值恢復,否則動畫將從StartValue重新開始。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 5.3.2. Stop

  停止動畫的運行。

  • 停止將終止動畫的處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 執行Stop時,受控屬性值立即移至StopValue。 StopAtCurrent停止在目前值。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 5.3.3. StopAtCurrent

  動畫停在目前值。

  StopAtCurrent會立即以目前值停止動畫。這不同於Stop,後者立即移動到StopValue然後停止。


# 6. TfxBitmapListAnimation


# 7. TfxColorKeyAnimation

  附加到對象的屬性以隨時間更改該屬性的顏色。

# 7.1. 屬性(Properties)

  • TfxColorKeyAnimation元件主要屬性
屬性 功能說明
AnimationType 設定此動畫的插值表達式如何應用於動畫屬性
AutoReverse 動畫開始到結束,結束再到開始
Delay 在啟動動畫之前要等待的秒數
Duration 設定動畫從開始到結束的總時長(單位:秒)
Enabled 啟動動畫
Interpolation 設定動畫型別,可以實現很多特殊效果,如心跳,線性。
Inverse 向後而不是向前動畫
Loop 無限重複播放動畫
PropertyName 指定將對其應用動畫的屬性
StartFromCurrent 從其目前值開始動畫此屬性
Trigger 用於啟動動畫的父對象的屬性狀態
TriggerInverse 用於啟動動畫逆過程的父對象的屬性狀態

# 7.1.1. AnimationType屬性

  確定如何應用動畫的插值。使用TAnimationType可以指定屬性的值如何從其起始值更改為結束值(StopValue)。想像一下二次函式的圖:y = x * 2。圖的斜率在x = 0處為零。這意味著y在x = 0附近變化非常緩慢。隨著x的增加,斜率變得越來越陡峭,這意味著y的變化越來越快。x表示動畫中的時間,而y是被動畫設定的屬性的值。

  當TAnimationType為In且TInterpolationType為Quadratic時,此動畫所應用的屬性的值(PropertyName)在起點附近緩慢變化(等效于x = 0的四角函式)。在TAnimationType為Out的情況下,端點附近的更改緩慢。對於InOut的TAnimationType,兩端的更改都很緩慢。曲線圍繞中心點映象,並在中間相交。

TAnimationType可以採用以下值之一:

  • In: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值開始
  • Out: 應用於此動畫的TInterpolationType的曲線從動畫屬性的結束值開始,然後向後退回到起始值。
  • InOut: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值和結束值開始,並在中心點相交。

# 7.1.2. AutoReverse屬性

  將常規動畫完成後,將AutoReverse設定為True,以從StopValue到StartValue向後動畫化受控屬性。前進和後退動畫各自花費持續時間(秒)。如果Loop為True,則前後動畫交替進行。向後動畫完成後,將呼叫OnFinish事件。

# 7.1.3. Delay屬性

  開始動畫之前要等待的秒數。

  延遲是一個實數,表示開始動畫之前要等待的秒數。該時間段是從執行Start方法開始的,或者,如果Enabled為True,則是從運行時的開始開始計算的。如果Loop為True,則延遲僅應用於動畫的開始。

# 7.1.4. Duration屬性

  從起始值到終止值的動畫時間(以秒為單位)。

# 7.1.5. Enabled屬性

  將動畫實體建立並附加到父實體后立即啟動動畫的設定為True。在設計時,在TAnimation的對象檢查器中或動態建立TAnimation時啟用。如果將Enabled設定為True,則不必執行TAnimation Start方法。你也可以將Enabled設為True來啟動動畫,但是你必須將Enabled設為False,然後再次設為True來運行動畫。另外,如果在動畫完成之前將Enabled設定為False,那麼如果StartFromCurrent為True,則將啟用True,否則將從StartValue重新運行動畫。

# 7.1.6. Interpolation屬性

  動畫的插值屬性的型別。

  確定如何隨時間將屬性的當前值(或StartValue)更改為目標值(StopValue)的速率。在繪製屬性值的圖形上,將動畫應用於(使用TAnimation PropertyName屬性)一個端點,該端點由t = 0處的起始值表示。另一個端點是t = 持續時間秒數時的停止值。許多不同的路徑可以連線這兩點。唯一的要求就是時間在不斷前進! TInterpolationType提供了多種路徑可供選擇。

  使用TInterpolationType為Linear時,屬性的值隨時間線性變化,起點和終點之間的路徑是一條直線。TInterpolationType的此值和其他值如下所述。

  TInterpolationType屬性值:

  • Linear(線性的):線性插值。此動畫應用於的屬性值會隨著時間不斷變化。
  • Quadratic(二次方的):二次函式應用於起點和終點之間的路徑。路徑的斜率在起點處為零,並隨時間不斷增加。將標量應用於該函式以使端點落在路徑上。
  • Cubic(立方體) :插值的形式為y = x * 3。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quartic(四次) :插值的形式為y = x * 4。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quintic(五重奏) :插值的形式為y = x * 5。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Sinusoidal(正弦曲線): 插值的形式為y = sin(x)。路徑的斜率在起點處為零,而正弦曲線的第一個拐點(x = pi)在終點處。
  • Exponential(指數的):插值的形式為y = e * x。路徑的斜率在起點處為1,並且比路徑上的二次函式快得多。
  • Circular(圓):此插值的起點和終點之間的路徑是四分之一圓。路徑的斜率在起點為零,在終點為頂點。
  • Elastic(有彈性):該路徑遵循漸進正弦幾何插值。路徑的正弦振幅可以在開始時較小,在結束時較大,反之亦然,具體取決於動畫型別(輸入/輸出)。
  • Back(背部):該路徑不遵循幾何插值。值(y座標)增加,向著起始值移動,但是時間(x值)必須始終沿正方向移動。
  • Bounce(彈跳):路徑描繪了一個彈跳球。該路徑由曲率遠離連線起點和終點的直線的圓形曲線組成。這些曲線由尖點連線。

# 7.1.7. Inverse屬性

  將Inverse設定為True可以使受控屬性從StopValue到StartValue向後進行動畫處理。向後動畫需要持續時間(秒)。向後動畫完成後,將呼叫OnFinish。

# 7.1.8. Loop屬性

  無限重複播放動畫。將Loop設定為True可以從StartValue到StopValue無限期重複動畫。該OnFinish事件處理程式不會被呼叫環是真。要停止循環播放的動畫,請呼叫Stop。

# 7.1.9. PropertyName屬性

  指定將對其應用動畫的屬性。

# 7.1.10. StartFromCurrent屬性

  如果StartFromCurrent為True,則將StartValue屬性設定為父級的受控屬性的當前值,然後從那裡開始動畫。

# 7.1.11. Trigger屬性

  用於啟動動畫的父對象的屬性狀態。

  觸發器是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  觸發器用於確定何時開始動畫。當此屬性具有指示的狀態時,動畫將開始處理。

# 7.1.12. TriggerInverse屬性

  用於啟動動畫逆過程的父對象的屬性狀態。

  TriggerInverse是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  TriggerInverse用於確定何時開始動畫的逆過程。例如,如果將Trigger設定為'IsMouseOver=true',並且動畫將父按鈕的紅色更改為藍色,則Trigger或其動畫中沒有任何內容可以將按鈕重新變回紅色。如果TriggerInverse字串設定為'IsMouseOver=false',則當滑鼠離開按鈕時,動畫的逆序開始。

# 7.2. 事件(Events)

  • TfxColorKeyAnimation元件主要事件
事件 何時觸發
OnFinish 動畫停止后呼叫的事件處理程式
OnProcess 在處理動畫期間呼叫的事件處理程式

# 7.2.1. OnFinish事件

  動畫停止后呼叫的事件處理程式。

  動畫在開始後會持續一段持續時間(秒),而在呼叫「 開始」的過程完成很長時間之後。動畫完成後,將所需的所有處理放入OnFinish事件處理程式中。如果Loop屬性為True,則不會呼叫OnFinish,除非呼叫Stop方法。

# 7.2.2. OnProcess事件

  在處理動畫期間呼叫的事件處理程式。

  動畫控制的值更改時,將反覆呼叫OnProcess。如果動畫改變了父對象的外觀,則父對像將自動重新繪製。如果在OnProcess內部進行處理導致在父級邊界框外進行繪製,請呼叫表單的Invalidate方法。

# 7.3. 方法(Methods)

  • TfxColorKeyAnimation元件主要方法
方法 功能說明
Start 開始運行動畫
Stop 停止動畫的運行
StopAtCurrent 動畫停在目前值

# 7.3.1. Start

  開始運行動畫。

  • 動畫對象也是動畫的父對象,必須是可見的可視對象。否則,呼叫啟動無效。
  • 開始將初始化動畫處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 如果在動畫完成之前停止動畫,則如果StartFromCurrent屬性為True,則動畫將以目前值恢復,否則動畫將從StartValue重新開始。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 7.3.2. Stop

  停止動畫的運行。

  • 停止將終止動畫的處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 執行Stop時,受控屬性值立即移至StopValue。 StopAtCurrent停止在目前值。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 7.3.3. StopAtCurrent

  動畫停在目前值。

  StopAtCurrent會立即以目前值停止動畫。這不同於Stop,後者立即移動到StopValue然後停止。


# 8. TfxFloatKeyAnimation

  附加到對象的屬性以隨時間更改該屬性的尺寸。

# 8.1. 屬性(Properties)

  • TfxFloatAnimation元件主要屬性
屬性 功能說明
AnimationType 設定此動畫的插值表達式如何應用於動畫屬性
AutoReverse 動畫開始到結束,結束再到開始
Delay 在啟動動畫之前要等待的秒數
Duration 設定動畫從開始到結束的總時長(單位:秒)
Enabled 啟動動畫
Interpolation 設定動畫型別,可以實現很多特殊效果,如心跳,線性。
Inverse 向後而不是向前動畫
Loop 無限重複播放動畫
PropertyName 指定將對其應用動畫的屬性
StartFromCurrent 從其目前值開始動畫此屬性
Trigger 用於啟動動畫的父對象的屬性狀態
TriggerInverse 用於啟動動畫逆過程的父對象的屬性狀態

# 8.1.1. AnimationType屬性

  確定如何應用動畫的插值。使用TAnimationType可以指定屬性的值如何從其起始值更改為結束值(StopValue)。想像一下二次函式的圖:y = x * 2。圖的斜率在x = 0處為零。這意味著y在x = 0附近變化非常緩慢。隨著x的增加,斜率變得越來越陡峭,這意味著y的變化越來越快。x表示動畫中的時間,而y是被動畫設定的屬性的值。

  當TAnimationType為In且TInterpolationType為Quadratic時,此動畫所應用的屬性的值(PropertyName)在起點附近緩慢變化(等效于x = 0的四角函式)。在TAnimationType為Out的情況下,端點附近的更改緩慢。對於InOut的TAnimationType,兩端的更改都很緩慢。曲線圍繞中心點映象,並在中間相交。

TAnimationType可以採用以下值之一:

  • In: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值開始
  • Out: 應用於此動畫的TInterpolationType的曲線從動畫屬性的結束值開始,然後向後退回到起始值。
  • InOut: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值和結束值開始,並在中心點相交。

# 8.1.2. AutoReverse屬性

  將常規動畫完成後,將AutoReverse設定為True,以從StopValue到StartValue向後動畫化受控屬性。前進和後退動畫各自花費持續時間(秒)。如果Loop為True,則前後動畫交替進行。向後動畫完成後,將呼叫OnFinish事件。

# 8.1.3. Delay屬性

  開始動畫之前要等待的秒數。

  延遲是一個實數,表示開始動畫之前要等待的秒數。該時間段是從執行Start方法開始的,或者,如果Enabled為True,則是從運行時的開始開始計算的。如果Loop為True,則延遲僅應用於動畫的開始。

# 8.1.4. Duration屬性

  從起始值到終止值的動畫時間(以秒為單位)。

# 8.1.5. Enabled屬性

  將動畫實體建立並附加到父實體后立即啟動動畫的設定為True。在設計時,在TAnimation的對象檢查器中或動態建立TAnimation時啟用。如果將Enabled設定為True,則不必執行TAnimation Start方法。你也可以將Enabled設為True來啟動動畫,但是你必須將Enabled設為False,然後再次設為True來運行動畫。另外,如果在動畫完成之前將Enabled設定為False,那麼如果StartFromCurrent為True,則將啟用True,否則將從StartValue重新運行動畫。

# 8.1.6. Interpolation屬性

  動畫的插值屬性的型別。

  確定如何隨時間將屬性的當前值(或StartValue)更改為目標值(StopValue)的速率。在繪製屬性值的圖形上,將動畫應用於(使用TAnimation PropertyName屬性)一個端點,該端點由t = 0處的起始值表示。另一個端點是t = 持續時間秒數時的停止值。許多不同的路徑可以連線這兩點。唯一的要求就是時間在不斷前進! TInterpolationType提供了多種路徑可供選擇。

  使用TInterpolationType為Linear時,屬性的值隨時間線性變化,起點和終點之間的路徑是一條直線。TInterpolationType的此值和其他值如下所述。

  TInterpolationType屬性值:

  • Linear(線性的):線性插值。此動畫應用於的屬性值會隨著時間不斷變化。
  • Quadratic(二次方的):二次函式應用於起點和終點之間的路徑。路徑的斜率在起點處為零,並隨時間不斷增加。將標量應用於該函式以使端點落在路徑上。
  • Cubic(立方體) :插值的形式為y = x * 3。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quartic(四次) :插值的形式為y = x * 4。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quintic(五重奏) :插值的形式為y = x * 5。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Sinusoidal(正弦曲線): 插值的形式為y = sin(x)。路徑的斜率在起點處為零,而正弦曲線的第一個拐點(x = pi)在終點處。
  • Exponential(指數的):插值的形式為y = e * x。路徑的斜率在起點處為1,並且比路徑上的二次函式快得多。
  • Circular(圓):此插值的起點和終點之間的路徑是四分之一圓。路徑的斜率在起點為零,在終點為頂點。
  • Elastic(有彈性):該路徑遵循漸進正弦幾何插值。路徑的正弦振幅可以在開始時較小,在結束時較大,反之亦然,具體取決於動畫型別(輸入/輸出)。
  • Back(背部):該路徑不遵循幾何插值。值(y座標)增加,向著起始值移動,但是時間(x值)必須始終沿正方向移動。
  • Bounce(彈跳):路徑描繪了一個彈跳球。該路徑由曲率遠離連線起點和終點的直線的圓形曲線組成。這些曲線由尖點連線。

# 8.1.7. Inverse屬性

  將Inverse設定為True可以使受控屬性從StopValue到StartValue向後進行動畫處理。向後動畫需要持續時間(秒)。向後動畫完成後,將呼叫OnFinish。

# 8.1.8. Loop屬性

  無限重複播放動畫。將Loop設定為True可以從StartValue到StopValue無限期重複動畫。該OnFinish事件處理程式不會被呼叫環是真。要停止循環播放的動畫,請呼叫Stop。

# 8.1.9. PropertyName屬性

  指定將對其應用動畫的屬性。

# 8.1.10. StartFromCurrent屬性

  如果StartFromCurrent為True,則將StartValue屬性設定為父級的受控屬性的當前值,然後從那裡開始動畫。

# 8.1.11. Trigger屬性

  用於啟動動畫的父對象的屬性狀態。

  觸發器是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  觸發器用於確定何時開始動畫。當此屬性具有指示的狀態時,動畫將開始處理。

# 8.1.12. TriggerInverse屬性

  用於啟動動畫逆過程的父對象的屬性狀態。

  TriggerInverse是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  TriggerInverse用於確定何時開始動畫的逆過程。例如,如果將Trigger設定為'IsMouseOver=true',並且動畫將父按鈕的紅色更改為藍色,則Trigger或其動畫中沒有任何內容可以將按鈕重新變回紅色。如果TriggerInverse字串設定為'IsMouseOver=false',則當滑鼠離開按鈕時,動畫的逆序開始。

# 8.2. 事件(Events)

  • TfxFloatAnimation元件主要事件
事件 何時觸發
OnFinish 動畫停止后呼叫的事件處理程式
OnProcess 在處理動畫期間呼叫的事件處理程式

# 8.2.1. OnFinish事件

  動畫停止后呼叫的事件處理程式。

  動畫在開始後會持續一段持續時間(秒),而在呼叫「 開始」的過程完成很長時間之後。動畫完成後,將所需的所有處理放入OnFinish事件處理程式中。如果Loop屬性為True,則不會呼叫OnFinish,除非呼叫Stop方法。

# 8.2.2. OnProcess事件

  在處理動畫期間呼叫的事件處理程式。

  動畫控制的值更改時,將反覆呼叫OnProcess。如果動畫改變了父對象的外觀,則父對像將自動重新繪製。如果在OnProcess內部進行處理導致在父級邊界框外進行繪製,請呼叫表單的Invalidate方法。

# 8.3. 方法(Methods)

  • TfxFloatAnimation元件主要方法
方法 功能說明
Start 開始運行動畫
Stop 停止動畫的運行
StopAtCurrent 動畫停在目前值

# 8.3.1. Start

  開始運行動畫。

  • 動畫對象也是動畫的父對象,必須是可見的可視對象。否則,呼叫啟動無效。
  • 開始將初始化動畫處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 如果在動畫完成之前停止動畫,則如果StartFromCurrent屬性為True,則動畫將以目前值恢復,否則動畫將從StartValue重新開始。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 8.3.2. Stop

  停止動畫的運行。

  • 停止將終止動畫的處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 執行Stop時,受控屬性值立即移至StopValue。 StopAtCurrent停止在目前值。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 8.3.3. StopAtCurrent

  動畫停在目前值。

  StopAtCurrent會立即以目前值停止動畫。這不同於Stop,後者立即移動到StopValue然後停止。


# 9. TfxPathAnimation

  用於在指定路徑上移動視覺對象。

  建立一個TfxPathAnimation實體,並將其Parent屬性設定為表單上的控制元件。使用Path屬性設定動畫的座標。 通過將對象的Rotate屬性設定為True,TfxPathAnimation可以在移動過程中旋轉對象。

# 9.1. 屬性(Properties)

  • TfxPathAnimation元件主要屬性
屬性 功能說明
AnimationType 設定此動畫的插值表達式如何應用於動畫屬性
AutoReverse 動畫開始到結束,結束再到開始
Delay 在啟動動畫之前要等待的秒數
Duration 設定動畫從開始到結束的總時長(單位:秒)
Enabled 啟動動畫
Interpolation 設定動畫型別,可以實現很多特殊效果,如心跳,線性
Inverse 向後而不是向前動畫
Loop 無限重複播放動畫
Path 指定將確定動畫路徑的點
Rotate 動畫的路徑是從Path屬性給出的點派生的平滑樣條
Trigger 用於啟動動畫的父對象的屬性狀態
TriggerInverse 用於啟動動畫逆過程的父對象的屬性狀態

# 9.1.1. AnimationType屬性

  確定如何應用動畫的插值。使用TAnimationType可以指定屬性的值如何從其起始值更改為結束值(StopValue)。想像一下二次函式的圖:y = x * 2。圖的斜率在x = 0處為零。這意味著y在x = 0附近變化非常緩慢。隨著x的增加,斜率變得越來越陡峭,這意味著y的變化越來越快。x表示動畫中的時間,而y是被動畫設定的屬性的值。

  當TAnimationType為In且TInterpolationType為Quadratic時,此動畫所應用的屬性的值(PropertyName)在起點附近緩慢變化(等效于x = 0的四角函式)。在TAnimationType為Out的情況下,端點附近的更改緩慢。對於InOut的TAnimationType,兩端的更改都很緩慢。曲線圍繞中心點映象,並在中間相交。

TAnimationType可以採用以下值之一:

  • In: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值開始
  • Out: 應用於此動畫的TInterpolationType的曲線從動畫屬性的結束值開始,然後向後退回到起始值。
  • InOut: 應用於此動畫的TInterpolationType的曲線從動畫屬性的起始值和結束值開始,並在中心點相交。

# 9.1.2. AutoReverse屬性

  將常規動畫完成後,將AutoReverse設定為True,以從StopValue到StartValue向後動畫化受控屬性。前進和後退動畫各自花費持續時間(秒)。如果Loop為True,則前後動畫交替進行。向後動畫完成後,將呼叫OnFinish事件。

# 9.1.3. Delay屬性

  開始動畫之前要等待的秒數。

  延遲是一個實數,表示開始動畫之前要等待的秒數。該時間段是從執行Start方法開始的,或者,如果Enabled為True,則是從運行時的開始開始計算的。如果Loop為True,則延遲僅應用於動畫的開始。

# 9.1.4. Duration屬性

  從起始值到終止值的動畫時間(以秒為單位)。

# 9.1.5. Enabled屬性

  將動畫實體建立並附加到父實體后立即啟動動畫的設定為True。在設計時,在TAnimation的對象檢查器中或動態建立TAnimation時啟用。如果將Enabled設定為True,則不必執行TAnimation Start方法。你也可以將Enabled設為True來啟動動畫,但是你必須將Enabled設為False,然後再次設為True來運行動畫。另外,如果在動畫完成之前將Enabled設定為False,那麼如果StartFromCurrent為True,則將啟用True,否則將從StartValue重新運行動畫。

# 9.1.6. Interpolation屬性

  動畫的插值屬性的型別。

  確定如何隨時間將屬性的當前值(或StartValue)更改為目標值(StopValue)的速率。在繪製屬性值的圖形上,將動畫應用於(使用TAnimation PropertyName屬性)一個端點,該端點由t = 0處的起始值表示。另一個端點是t = 持續時間秒數時的停止值。許多不同的路徑可以連線這兩點。唯一的要求就是時間在不斷前進! TInterpolationType提供了多種路徑可供選擇。

  使用TInterpolationType為Linear時,屬性的值隨時間線性變化,起點和終點之間的路徑是一條直線。TInterpolationType的此值和其他值如下所述。

  TInterpolationType屬性值:

  • Linear(線性的):線性插值。此動畫應用於的屬性值會隨著時間不斷變化。
  • Quadratic(二次方的):二次函式應用於起點和終點之間的路徑。路徑的斜率在起點處為零,並隨時間不斷增加。將標量應用於該函式以使端點落在路徑上。
  • Cubic(立方體) :插值的形式為y = x * 3。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quartic(四次) :插值的形式為y = x * 4。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Quintic(五重奏) :插值的形式為y = x * 5。路徑的斜率在起點處為零,並且比路徑上的二次函式快得多。
  • Sinusoidal(正弦曲線): 插值的形式為y = sin(x)。路徑的斜率在起點處為零,而正弦曲線的第一個拐點(x = pi)在終點處。
  • Exponential(指數的):插值的形式為y = e * x。路徑的斜率在起點處為1,並且比路徑上的二次函式快得多。
  • Circular(圓):此插值的起點和終點之間的路徑是四分之一圓。路徑的斜率在起點為零,在終點為頂點。
  • Elastic(有彈性):該路徑遵循漸進正弦幾何插值。路徑的正弦振幅可以在開始時較小,在結束時較大,反之亦然,具體取決於動畫型別(輸入/輸出)。
  • Back(背部):該路徑不遵循幾何插值。值(y座標)增加,向著起始值移動,但是時間(x值)必須始終沿正方向移動。
  • Bounce(彈跳):路徑描繪了一個彈跳球。該路徑由曲率遠離連線起點和終點的直線的圓形曲線組成。這些曲線由尖點連線。

# 9.1.7. Inverse屬性

  將Inverse設定為True可以使受控屬性從StopValue到StartValue向後進行動畫處理。向後動畫需要持續時間(秒)。向後動畫完成後,將呼叫OnFinish。

# 9.1.8. Loop屬性

  無限重複播放動畫。將Loop設定為True可以從StartValue到StopValue無限期重複動畫。該OnFinish事件處理程式不會被呼叫環是真。要停止循環播放的動畫,請呼叫Stop。

# 9.1.9. Path屬性

  指定將確定動畫路徑的點。

  動畫的路徑是從Path屬性給出的點派生的平滑樣條。

# 9.1.10. Rotate屬性

  指定動畫對象是否在動畫過程中旋轉。

  使用Rotate屬性指定在動畫過程中父控制元件是否應該旋轉。如果Rotate設定為True,則控制元件將旋轉,以便在向前動畫時底部朝路徑的方向,而在反向動畫時頂部朝路徑的方向。

# 9.1.11. Trigger屬性

  用於啟動動畫的父對象的屬性狀態。

  觸發器是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  觸發器用於確定何時開始動畫。當此屬性具有指示的狀態時,動畫將開始處理。

# 9.1.12. TriggerInverse屬性

  用於啟動動畫逆過程的父對象的屬性狀態。

  TriggerInverse是TTrigger型別的字串屬性。見T觸發器有關的可能值的資訊觸發。

  TriggerInverse用於確定何時開始動畫的逆過程。例如,如果將Trigger設定為'IsMouseOver=true',並且動畫將父按鈕的紅色更改為藍色,則Trigger或其動畫中沒有任何內容可以將按鈕重新變回紅色。如果TriggerInverse字串設定為'IsMouseOver=false',則當滑鼠離開按鈕時,動畫的逆序開始。

# 9.2. 事件(Events)

  • TfxPathAnimation元件主要事件
事件 何時觸發
OnFinish 動畫停止后呼叫的事件處理程式
OnProcess 在處理動畫期間呼叫的事件處理程式

# 9.2.1. OnFinish事件

  動畫停止后呼叫的事件處理程式。

  動畫在開始後會持續一段持續時間(秒),而在呼叫「 開始」的過程完成很長時間之後。動畫完成後,將所需的所有處理放入OnFinish事件處理程式中。如果Loop屬性為True,則不會呼叫OnFinish,除非呼叫Stop方法。

# 9.2.2. OnProcess事件

  在處理動畫期間呼叫的事件處理程式。

  動畫控制的值更改時,將反覆呼叫OnProcess。如果動畫改變了父對象的外觀,則父對像將自動重新繪製。如果在OnProcess內部進行處理導致在父級邊界框外進行繪製,請呼叫表單的Invalidate方法。

# 9.3. 方法(Methods)

  • TfxPathAnimation元件主要方法
方法 功能說明
Start 開始運行動畫
Stop 停止動畫的運行
StopAtCurrent 動畫停在目前值

# 9.3.1. Start

  開始運行動畫。

  • 動畫對象也是動畫的父對象,必須是可見的可視對象。否則,呼叫啟動無效。
  • 開始將初始化動畫處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 如果在動畫完成之前停止動畫,則如果StartFromCurrent屬性為True,則動畫將以目前值恢復,否則動畫將從StartValue重新開始。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 9.3.2. Stop

  停止動畫的運行。

  • 停止將終止動畫的處理。對於動畫運行時間秒鐘從動畫的變化控制的屬性在startValue到StopValue。您可以使用Stop方法終止動畫。這對於將Loop屬性設定為True並可以永久運行的動畫非常方便。
  • 執行Stop時,受控屬性值立即移至StopValue。 StopAtCurrent停止在目前值。
  • 您也可以使用Enabled屬性來啟動和停止動畫。

# 9.3.3. StopAtCurrent

  動畫停在目前值。

  StopAtCurrent會立即以目前值停止動畫。這不同於Stop,後者立即移動到StopValue然後停止。


特效控制元件
SVG控制元件

← 特效控制元件 SVG控制元件→

Copyright © 2021-2025 愛招飛IsoFace | ALL Rights Reserved
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式