CCustomTransition – třída
Implementuje vlastní přechod.
Syntaxe
class CCustomTransition : public CBaseTransition;
Členové
Veřejné konstruktory
Název | Popis |
---|---|
CCustomTransition::CCustomTransition | Vytvoří vlastní objekt přechodu. |
Veřejné metody
Název | Popis |
---|---|
CCustomTransition::Create | Volá knihovnu přechodu k vytvoření zapouzdřeného objektu MODELU COM. (Přepsání CBaseTransition::Create.) |
CCustomTransition::SetInitialValue | Nastaví počáteční hodnotu, která se použije u proměnné animace přidružené k tomuto přechodu. |
CCustomTransition::SetInitialVelocity | Nastaví počáteční rychlost, která se použije u proměnné animace přidružené k tomuto přechodu. |
Chráněné datové členy
Název | Popis |
---|---|
CCustomTransition::m_bInitialValueSpecified | Určuje, zda byla počáteční hodnota zadána pomocí SetInitialValue. |
CCustomTransition::m_bInitialVelocitySpecified | Určuje, zda byla počáteční rychlost zadána pomocí SetInitialVelocity. |
CCustomTransition::m_initialValue | Uloží počáteční hodnotu. |
CCustomTransition::m_initialVelocity | Ukládá počáteční rychlost. |
CCustomTransition::m_pInterpolator | Uloží ukazatel na vlastní interpolátor. |
Poznámky
CCustomTransitions třída umožňuje vývojářům implementovat vlastní přechody. Je vytvořen a používán jako standardní přechod, ale jeho konstruktor přijímá jako parametr ukazatel na vlastní interpolátor. Pokud chcete použít vlastní přechody, proveďte následující kroky: 1. Odvození třídy z CCustomInterpolator a implementace alespoň InterpolateValue metoda. 2. Ujistěte se, že životnost vlastního objektu interpolátoru musí být delší než doba trvání animace, ve které se používá. 3. Vytvořte instanci objektu CCustomTransition (using operator new) a předejte ukazatel vlastní interpolátoru v konstruktoru. 4. Volání CCustomTransition::SetInitialValue a CCustomTransition::SetInitialVelocity, pokud jsou tyto parametry vyžadovány pro vlastní interpolaci. 5. Předejte ukazatel na vlastní přechod na AddTransition metoda animačního objektu, jehož hodnota by měla být animované pomocí vlastního algoritmu. 6. Když hodnota animačního objektu by měla změnit rozhraní API animace systému Windows bude volat InterpolateValue (a další relevantní metody) v CCustomInterpolator.
Hierarchie dědičnosti
CCustomTransition
Požadavky
Hlavička: afxanimationcontroller.h
CCustomTransition::CCustomTransition
Vytvoří vlastní objekt přechodu.
CCustomTransition(CCustomInterpolator* pInterpolator);
Parametry
pInterpolator
Ukazatel na vlastní interpolátor.
CCustomTransition::Create
Volá knihovnu přechodu k vytvoření zapouzdřeného objektu MODELU COM.
virtual BOOL Create(
IUIAnimationTransitionLibrary* */,
IUIAnimationTransitionFactory* pFactory);
Parametry
pFactory
Ukazatel na přechodovou továrnu, která je zodpovědná za vytváření vlastních přechodů.
Návratová hodnota
Poznámky
Tato metoda také může nastavit počáteční hodnotu a počáteční rychlost, které se použijí na animační proměnnou, která je přidružena k tomuto přechodu. Pro účely tohoto účelu musíte volat SetInitialValue a SetInitialVelocity před tím, než architektura vytvoří zapouzdřený objekt COM (k tomu dochází při volání CAnimationController::AnimateGroup).
CCustomTransition::m_bInitialValueSpecified
Určuje, zda byla počáteční hodnota zadána pomocí SetInitialValue.
BOOL m_bInitialValueSpecified;
CCustomTransition::m_bInitialVelocitySpecified
Určuje, zda byla počáteční rychlost zadána pomocí SetInitialVelocity.
BOOL m_bInitialVelocitySpecified;
CCustomTransition::m_initialValue
Uloží počáteční hodnotu.
DOUBLE m_initialValue;
CCustomTransition::m_initialVelocity
Ukládá počáteční rychlost.
DOUBLE m_initialVelocity;
CCustomTransition::m_pInterpolator
Uloží ukazatel na vlastní interpolátor.
CCustomInterpolator* m_pInterpolator;
CCustomTransition::SetInitialValue
Nastaví počáteční hodnotu, která se použije u proměnné animace přidružené k tomuto přechodu.
void SetInitialValue(DOUBLE initialValue);
Parametry
initialValue
CCustomTransition::SetInitialVelocity
Nastaví počáteční rychlost, která se použije u proměnné animace přidružené k tomuto přechodu.
void SetInitialVelocity(DOUBLE initialVelocity);
Parametry
initialVelocity