CAnimationVariable 類別

表示動畫變數。

語法

class CAnimationVariable;

成員

公用建構函式

名稱 描述
CAnimationVariable::CAnimationVariable 建構動畫變數物件。
CAnimationVariable::~CAnimationVariable 解構函式。 當 CAnimationVariable 對象被終結時呼叫。

公用方法

名稱 描述
CAnimationVariable::AddTransition 加入轉換。
CAnimationVariable::ApplyTransitions 將內部清單的轉換新增至分鏡腳本。
CAnimationVariable::ClearTransitions 清除轉換。
CAnimationVariable::Create 建立基礎動畫變數 COM 物件。
CAnimationVariable::CreateTransitions 建立要套用至這個動畫變數的所有轉換。
CAnimationVariable::EnableIntegerValueChangedEvent 啟用或停用 IntegerValueChanged 事件。
CAnimationVariable::EnableValueChangedEvent 啟用或停用 ValueChanged 事件。
CAnimationVariable::GetDefaultValue 傳回預設值。
CAnimationVariable::GetParentAnimationObject 傳回父動畫物件。
CAnimationVariable::GetValue 已多載。 傳回動畫變數的目前值。
CAnimationVariable::GetVariable 傳回 IUIAnimationVariable COM 物件的指標。
CAnimationVariable::SetDefaultValue 設定預設值並釋放IUIAnimationVariable COM物件。

受保護的方法

名稱 描述
CAnimationVariable::SetParentAnimationObject 設定動畫變數與動畫對象之間的關聯性。

公用資料成員

名稱 描述
CAnimationVariable::m_bAutodestroyTransitions 指定是否應該刪除相關的轉換物件。

受保護的資料成員

名稱 描述
CAnimationVariable::m_dblDefaultValue 指定傳播至 IUIAnimationVariable 的預設值。
CAnimationVariable::m_lstTransitions 包含動畫這個動畫變數的轉換清單。
CAnimationVariable::m_pParentObject 封裝此動畫變數之動畫物件的指標。
CAnimationVariable::m_variable 儲存 IUIAnimationVariable COM 物件的指標。 如果 COM 物件尚未建立,或建立失敗,則為 NULL。

備註

CAnimationVariable 類別會封裝 IUIAnimationVariable COM 物件。 它也會保存要套用至分鏡腳本中動畫變數的轉換清單。 CAnimationVariable 物件內嵌至動畫物件,其可以在應用程式中以動畫值、點、大小、色彩和矩形表示。

繼承階層架構

CAnimationVariable

需求

標頭: afxanimationcontroller.h

CAnimationVariable::~CAnimationVariable

解構函式。 當 CAnimationVariable 對象被終結時呼叫。

virtual ~CAnimationVariable();

CAnimationVariable::AddTransition

加入轉換。

void AddTransition(CBaseTransition* pTransition);

參數

pTransition
要加入之轉換的指標。

備註

呼叫此方法可將轉換新增至要套用至動畫變數的內部轉換清單。 當已排程動畫時,應該清除此清單。

CAnimationVariable::ApplyTransitions

將內部清單的轉換新增至分鏡腳本。

void ApplyTransitions(
    CAnimationController* pController,
    IUIAnimationStoryboard* pStoryboard,
    BOOL bDependOnKeyframes);

參數

pController
父動畫控制器的指標。

pStoryboard
分鏡腳本的指標。

bDependOnKeyframes
TRUE 是表示 如果此方法應該新增相依於主要畫面格的轉換。

備註

這個方法會將從內部清單轉換至分鏡腳本。 它會從最上層程式代碼呼叫數次,以新增不相依於主要畫面格的轉換,並新增相依於主要畫面格的轉換。 如果尚未建立基礎動畫變數 COM 對象,這個方法會在這個階段建立它。

CAnimationVariable::CAnimationVariable

建構動畫變數物件。

CAnimationVariable(DOUBLE dblDefaultValue = 0.0);

參數

dblDefaultValue
指定預設值。

備註

建構動畫變數物件並設定其預設值。 當變數未產生動畫效果或無法產生動畫效果時,會使用預設值。

CAnimationVariable::ClearTransitions

清除轉換。

void ClearTransitions(BOOL bAutodestroy);

參數

bAutodestroy
指定這個方法是否應該刪除轉換物件。

備註

此方法會從內部轉換清單中移除所有轉換。 如果 bAutodestroy 為 TRUE,或m_bAutodestroyTransitions為 TRUE,則會刪除轉換。 否則,呼叫端應該解除分配轉換物件。

CAnimationVariable::Create

建立基礎動畫變數 COM 物件。

virtual BOOL Create(IUIAnimationManager* pManager);

參數

pManager
動畫管理員的指標。

傳回值

如果成功建立動畫變數,則為TRUE;否則為 FALSE。

備註

這個方法會建立基礎動畫變數 COM 物件,並設定其預設值。

CAnimationVariable::CreateTransitions

建立要套用至這個動畫變數的所有轉換。

BOOL CreateTransitions(
    IUIAnimationTransitionLibrary* pLibrary,
    IUIAnimationTransitionFactory* \*not used*\);

參數

pLibrary
IUIAnimationTransitionLibrary 介面指標,定義標準轉換的連結庫。

傳回值

如果成功建立轉換,則為TRUE;否則為 FALSE。

備註

當架構需要建立已新增至變數內部轉換清單的轉換時,架構會呼叫此方法。

CAnimationVariable::EnableIntegerValueChangedEvent

啟用或停用 IntegerValueChanged 事件。

void EnableIntegerValueChangedEvent (
    CAnimationController* pController,
    BOOL bEnable);

參數

pController
父控制器的指標。

bEnable
TRUE - 啟用事件、FALSE - 停用事件。

備註

啟用 ValueChanged 事件時,架構會呼叫虛擬方法 CAnimationController::OnAnimationIntegerValueChanged。 您必須在衍生自 CAnimationController 的類別中覆寫它,才能處理此事件。 每次變更動畫變數的整數值時,都會呼叫這個方法。

CAnimationVariable::EnableValueChangedEvent

啟用或停用 ValueChanged 事件。

void EnableValueChangedEvent (
    CAnimationController* pController,
    BOOL bEnable);

參數

pController
父控制器的指標。

bEnable
TRUE - 啟用事件、FALSE - 停用事件。

備註

啟用 ValueChanged 事件時,架構會呼叫虛擬方法 CAnimationController::OnAnimationValueChanged。 您必須在衍生自 CAnimationController 的類別中覆寫它,才能處理此事件。 每次變更動畫變數的值時,都會呼叫這個方法。

CAnimationVariable::GetDefaultValue

傳回預設值。

DOUBLE GetDefaultValue() const;

傳回值

預設值。

備註

使用此函式取得動畫變數的預設值。 預設值可以在建構函式或 SetDefaultValue 方法中設定。

CAnimationVariable::GetParentAnimationObject

傳回父動畫物件。

CAnimationBaseObject* GetParentAnimationObject();

傳回值

如果已建立關聯性,則為父動畫物件的指標,否則為NULL。

備註

您可以呼叫這個方法,以擷取父動畫物件的指標(容器)。

CAnimationVariable::GetValue

傳回動畫變數的目前值。

HRESULT GetValue(DOUBLE& dblValue);
HRESULT GetValue(INT32& nValue);

參數

dblValue
動畫變數的目前值。

nValue
動畫變數的目前值。

傳回值

S_OK如果成功取得值,或尚未建立基礎動畫變數。 否則,HRESULT 錯誤碼。

備註

您可以呼叫這個方法以擷取動畫變數的目前值。 如果尚未建立基礎 COM 物件,當函式傳回時,dblValue 會包含預設值。

CAnimationVariable::GetVariable

傳回 IUIAnimationVariable COM 物件的指標。

IUIAnimationVariable* GetVariable();

傳回值

IUIAnimationVariable COM 物件的有效指標,如果動畫變數未建立或無法建立,則為 NULL。

備註

使用此函式來存取基礎 IUIAnimationVariable COM 物件,並視需要直接呼叫其方法。

CAnimationVariable::m_bAutodestroyTransitions

指定是否應該刪除相關的轉換物件。

BOOL m_bAutodestroyTransitions;

備註

當轉換物件從內部轉換清單中移除時,請將此值設定為 TRUE,以強制刪除轉換物件。 如果此值為 FALSE,則應該藉由呼叫應用程式來刪除轉換。 在排程動畫之後,一律會清除轉換清單。 預設值為 FALSE。

CAnimationVariable::m_dblDefaultValue

指定傳播至 IUIAnimationVariable 的預設值。

DOUBLE m_dblDefaultValue;

CAnimationVariable::m_lstTransitions

包含動畫這個動畫變數的轉換清單。

CObList m_lstTransitions;

CAnimationVariable::m_pParentObject

封裝此動畫變數之動畫物件的指標。

CAnimationBaseObject* m_pParentObject;

CAnimationVariable::m_variable

儲存 IUIAnimationVariable COM 物件的指標。 如果 COM 物件尚未建立,或建立失敗,則為 NULL。

ATL::CComPtr<IUIAnimationVariable> m_variable;

CAnimationVariable::SetDefaultValue

設定預設值並釋放IUIAnimationVariable COM物件。

void SetDefaultValue(DOUBLE dblDefaultValue);

參數

dblDefaultValue
指定新的預設值。

備註

使用此方法重設預設值。 這個方法會釋放內部 IUIAnimationVariable COM 物件,因此當重新建立動畫變數時,基礎 COM 物件會取得新的預設值。 如果未建立代表動畫變數的 COM 物件,或是變數尚未產生動畫效果,則 GetValue 會傳回預設值。

CAnimationVariable::SetParentAnimationObject

設定動畫變數與動畫對象之間的關聯性。

void SetParentAnimationObject(CAnimationBaseObject* pParentObject);

參數

pParentObject
包含這個變數之動畫物件的指標。

備註

此方法會在內部呼叫,以建立動畫變數與封裝它的動畫對象之間的一對一關聯性。

另請參閱

類別