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
指向包含此变量的动画对象的指针。
注解
此方法在内部调用,用于在动画变量与封装它的动画对象之间建立一对一关系。