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
指向包含此变量的动画对象的指针。

注解

此方法在内部调用,用于在动画变量与封装它的动画对象之间建立一对一关系。

另请参阅