CCustomTransition 类
实现自定义转换。
语法
class CCustomTransition : public CBaseTransition;
成员
公共构造函数
名称 | 描述 |
---|---|
CCustomTransition::CCustomTransition | 构造自定义转换对象。 |
公共方法
名称 | 描述 |
---|---|
CCustomTransition::Create | 调用转换库以创建封装的转换 COM 对象。 (替代 CBaseTransition::Create。) |
CCustomTransition::SetInitialValue | 设置初始值,该值将应用于与此转换关联的动画变量。 |
CCustomTransition::SetInitialVelocity | 设置初始速度,该值将应用于与此转换关联的动画变量。 |
受保护的数据成员
名称 | 描述 |
---|---|
CCustomTransition::m_bInitialValueSpecified | 指定是否使用 SetInitialValue 指定初始值。 |
CCustomTransition::m_bInitialVelocitySpecified | 指定是否使用 SetInitialVelocity 指定初始速度。 |
CCustomTransition::m_initialValue | 存储初始值。 |
CCustomTransition::m_initialVelocity | 存储初始速度。 |
CCustomTransition::m_pInterpolator | 存储指向自定义内插器的指针。 |
备注
CCustomTransitions 类允许开发人员实现自定义转换。 它被创建并用作标准转换,但其构造函数接受指向自定义内插器的指针作为参数。 执行以下步骤以使用自定义转换:1. 从 CCustomInterpolator 派生一个类,并至少实现 InterpolateValue 方法。 2. 确保自定义内插器对象的生存期必须长于使用它的动画持续时间。 3. 实例化(使用运算符 new)CCustomTransition 对象,并将指针传递到构造函数中的自定义内插器。 4. 如果自定义内插需要这些参数,请调用 CCustomTransition::SetInitialValue 和 CCustomTransition::SetInitialVelocity。 5. 将指向自定义转换的指针传递给动画对象的 AddTransition 方法,其值应使用自定义算法进行动画处理。 6. 如果应更改动画对象的值,Windows 动画 API 将在 CCustomInterpolator 中调用 InterpolateValue(和其他相关方法)。
继承层次结构
CCustomTransition
要求
标头: afxanimationcontroller.h
CCustomTransition::CCustomTransition
构造自定义转换对象。
CCustomTransition(CCustomInterpolator* pInterpolator);
参数
pInterpolator
指向自定义内插器的指针。
CCustomTransition::Create
调用转换库以创建封装的转换 COM 对象。
virtual BOOL Create(
IUIAnimationTransitionLibrary* */,
IUIAnimationTransitionFactory* pFactory);
参数
pFactory
指向转换工厂的指针,该指针负责创建自定义转换。
返回值
备注
此方法还可以设置要应用于与此转换关联的动画变量的初始值和初始速度。 为此,必须在框架创建封装的转换 COM 对象之前调用 SetInitialValue 和 SetInitialVelocity(调用 CAnimationController::AnimateGroup 时会发生这种情况)。
CCustomTransition::m_bInitialValueSpecified
指定是否使用 SetInitialValue 指定初始值。
BOOL m_bInitialValueSpecified;
CCustomTransition::m_bInitialVelocitySpecified
指定是否使用 SetInitialVelocity 指定初始速度。
BOOL m_bInitialVelocitySpecified;
CCustomTransition::m_initialValue
存储初始值。
DOUBLE m_initialValue;
CCustomTransition::m_initialVelocity
存储初始速度。
DOUBLE m_initialVelocity;
CCustomTransition::m_pInterpolator
存储指向自定义内插器的指针。
CCustomInterpolator* m_pInterpolator;
CCustomTransition::SetInitialValue
设置初始值,该值将应用于与此转换关联的动画变量。
void SetInitialValue(DOUBLE initialValue);
参数
initialValue
CCustomTransition::SetInitialVelocity
设置初始速度,该值将应用于与此转换关联的动画变量。
void SetInitialVelocity(DOUBLE initialVelocity);
参数
initialVelocity