Sdílet prostřednictvím


CAnimationGroup – třída

Implementuje skupinu animací, která kombinuje scénáře animací, objekty animací a přechody k definování animace.

Syntaxe

class CAnimationGroup;

Členové

Veřejné konstruktory

Název Popis
CAnimationGroup::CAnimationGroup Vytvoří skupinu animací.
CAnimationGroup::~CAnimationGroup Destruktor. Volá se při zničení skupiny animací.

Veřejné metody

Název Popis
CAnimationGroup::Animate Animuje skupinu.
CAnimationGroup::ApplyTransitions Použije přechody na objekty animace.
CAnimationGroup::FindAnimationObject Vyhledá animační objekt, který obsahuje zadanou animační proměnnou.
CAnimationGroup::GetGroupID Vrátí ID skupiny.
CAnimationGroup::RemoveKeyframes Odebere a volitelně zničí všechny klíčové rámce, které patří do skupiny animací.
CAnimationGroup::RemoveTransitions Odebere přechody z animačních objektů, které patří do skupiny animací.
CAnimationGroup::Schedule Naplánuje animaci v zadaném čase.
CAnimationGroup::SetAutodestroyTransitions Směruje všechny objekty animace, které patří do skupiny, automaticky zničí přechody.

Chráněné metody

Název Popis
CAnimationGroup::AddKeyframes Pomocná rutina, která do scénáře přidá klíčové rámce.
CAnimationGroup::AddTransitions Pomocná rutina, která přidá přechody do scénáře
CAnimationGroup::CreateTransitions Pomocná rutina, která vytvoří přechodové objekty modelu COM.

Veřejné datové členy

Název Popis
CAnimationGroup::m_bAutoclearTransitions Určuje, jak vymazat přechody z animačních objektů, které patří do skupiny. Pokud má tento člen hodnotu TRUE, přechody se automaticky odeberou, když je naplánovaná animace. Jinak je potřeba přechody odebrat ručně.
CAnimationGroup::m_bAutodestroyAnimationObjects Určuje, jak zničit animační objekty. Pokud je tento parametr TRUE, objekty animace budou při zničení skupiny automaticky zničeny. Jinak musí být objekty animace zničeny ručně. Výchozí hodnota je FALSE. Tuto hodnotu nastavte na hodnotu TRUE pouze v případě, že všechny objekty animace, které patří do skupiny, jsou dynamicky přiděleny operátorem novým operátorem.
CAnimationGroup::m_bAutodestroyKeyframes Určuje, jak zničit klíčové rámce. Pokud je tato hodnota PRAVDA, všechny klíčové rámce jsou odebrány a zničeny; jinak se odeberou jenom ze seznamu. Výchozí hodnota je PRAVDA.
CAnimationGroup::m_lstAnimationObjects Obsahuje seznam animačních objektů.
CAnimationGroup::m_lstKeyFrames Obsahuje seznam klíčových rámců.
CAnimationGroup::m_pStoryboard Odkazuje na animační scénář. Tento ukazatel je platný až po volání aplikace Animate.

Chráněné datové členy

Název Popis
CAnimationGroup::m_nGroupID Jedinečný identifikátor skupiny animací.
CAnimationGroup::m_pParentController Ukazatel na kontroler animace, do které tato skupina patří.

Poznámky

Skupiny animací se vytvářejí automaticky kontrolerem animace (CAnimationController) při přidávání animačních objektů pomocí CAnimationController::AddAnimationObject. Skupinu animací identifikuje GroupID, která se obvykle používá jako parametr pro manipulaci se skupinami animací. ID skupiny se přebírá z prvního objektu animace, který se přidá do nové skupiny animací. Zapouzdřená animační storyboard se vytvoří po volání CAnimationController::AnimateGroup a lze k němu přistupovat prostřednictvím veřejného člena m_pStoryboard.

Hierarchie dědičnosti

CAnimationGroup

Požadavky

Hlavička: afxanimationcontroller.h

CAnimationGroup::~CAnimationGroup

Destruktor. Volá se při zničení skupiny animací.

~CAnimationGroup();

CAnimationGroup::AddKeyframes

Pomocná rutina, která do scénáře přidá klíčové rámce.

void AddKeyframes(IUIAnimationStoryboard* pStoryboard, BOOL bAddDeep);

Parametry

pStoryboard
Ukazatel na objekt MODELU COM scénáře.

bAddDeep
Určuje, zda má tato metoda přidat do klíčových rámců scénáře, které závisí na jiných klíčových rámcích.

CAnimationGroup::AddTransitions

Pomocná rutina, která přidá přechody do scénáře

void AddTransitions(
    IUIAnimationStoryboard* pStoryboard,
    BOOL bDependOnKeyframes);

Parametry

pStoryboard
Ukazatel na objekt MODELU COM scénáře.

bDependOnKeyframes

CAnimationGroup::Animate

Animuje skupinu.

BOOL Animate(
    IUIAnimationManager* pManager,
    IUIAnimationTimer* pTimer,
    BOOL bScheduleNow);

Parametry

pManager
pTimerbScheduleNow

Návratová hodnota

TRUE, pokud metoda uspěje; jinak NEPRAVDA.

Poznámky

Tato metoda vytvoří interní scénář, vytvoří a použije přechody a naplánuje animaci, pokud bScheduleNow je TRUE. Pokud bScheduleNow je NEPRAVDA, musíte zavolat Plán, který spustí animaci v zadaném čase.

CAnimationGroup::ApplyTransitions

Použije přechody na objekty animace.

void ApplyTransitions();

Poznámky

Tato metoda ASSERTS v režimu ladění, pokud scénář nebyl vytvořen. Nejprve vytvoří všechny přechody, pak přidá "statické" klíčové rámce (klíčové rámce, které závisí na posunech), přidá přechody, které nezávisí na klíčových rámcích, přidá klíčové rámce v závislosti na přechodech a dalších klíčových rámcích a nakonec přidá přechody, které závisí na klíčových rámcích.

CAnimationGroup::CAnimationGroup

Vytvoří skupinu animací.

CAnimationGroup(CAnimationController* pParentController, UINT32 nGroupID);

Parametry

pParentController
Ukazatel na animační kontroler, který vytvoří skupinu.

nGroupID
Určuje ID skupiny.

CAnimationGroup::CreateTransitions

Pomocná rutina, která vytvoří přechodové objekty modelu COM.

BOOL CreateTransitions();

Návratová hodnota

PRAVDA je metoda úspěšná, jinak NEPRAVDA.

CAnimationGroup::FindAnimationObject

Vyhledá animační objekt, který obsahuje zadanou animační proměnnou.

CAnimationBaseObject* FindAnimationObject(IUIAnimationVariable* pVariable);

Parametry

pVariable
Ukazatel na animační proměnnou.

Návratová hodnota

Ukazatel na animační objekt nebo NULL, pokud nebyl nalezen animační objekt.

CAnimationGroup::GetGroupID

Vrátí ID skupiny.

UINT32 GetGroupID() const;

Návratová hodnota

Identifikátor skupiny.

CAnimationGroup::m_bAutoclearTransitions

Určuje, jak vymazat přechody z animačních objektů, které patří do skupiny. Pokud má tento člen hodnotu TRUE, přechody se automaticky odeberou, když je naplánovaná animace. Jinak je potřeba přechody odebrat ručně.

BOOL m_bAutoclearTransitions;

CAnimationGroup::m_bAutodestroyAnimationObjects

Určuje, jak zničit animační objekty. Pokud je tento parametr TRUE, objekty animace budou při zničení skupiny automaticky zničeny. Jinak musí být objekty animace zničeny ručně. Výchozí hodnota je FALSE. Tuto hodnotu nastavte na hodnotu TRUE pouze v případě, že všechny objekty animace, které patří do skupiny, jsou dynamicky přiděleny operátorem novým operátorem.

BOOL m_bAutodestroyAnimationObjects;

CAnimationGroup::m_bAutodestroyKeyframes

Určuje, jak zničit klíčové rámce. Pokud je tato hodnota PRAVDA, všechny klíčové rámce jsou odebrány a zničeny; jinak se odeberou jenom ze seznamu. Výchozí hodnota je PRAVDA.

BOOL m_bAutodestroyKeyframes;

CAnimationGroup::m_lstAnimationObjects

Obsahuje seznam animačních objektů.

CObList m_lstAnimationObjects;

CAnimationGroup::m_lstKeyFrames

Obsahuje seznam klíčových rámců.

CObList m_lstKeyFrames;

CAnimationGroup::m_nGroupID

Jedinečný identifikátor skupiny animací.

UINT32 m_nGroupID;

CAnimationGroup::m_pParentController

Ukazatel na kontroler animace, do které tato skupina patří.

CAnimationController* m_pParentController;

CAnimationGroup::m_pStoryboard

Odkazuje na animační scénář. Tento ukazatel je platný až po volání aplikace Animate.

ATL::CComPtr<IUIAnimationStoryboard> m_pStoryboard;

CAnimationGroup::RemoveKeyframes

Odebere a volitelně zničí všechny klíčové rámce, které patří do skupiny animací.

void RemoveKeyframes();

Poznámky

Pokud je m_bAutodestroyKeyframes člen TRUE, klíčové rámce se odeberou a zničí, jinak se klíčové rámce odeberou jenom z interního seznamu klíčových rámců.

CAnimationGroup::RemoveTransitions

Odebere přechody z animačních objektů, které patří do skupiny animací.

void RemoveTransitions();

Poznámky

Pokud je příznak m_bAutoclearTransitions nastaven na HODNOTU TRUE, tato metoda smyčka nad všemi animačními objekty, které patří do skupiny, a volá CAnimationObject::ClearTransitions(FALSE).

CAnimationGroup::Schedule

Naplánuje animaci v zadaném čase.

BOOL Schedule(IUIAnimationTimer* pTimer, UI_ANIMATION_SECONDS time);

Parametry

pTimer
Ukazatel na časovač animace.

Čas
Určuje čas naplánování animace.

Návratová hodnota

TRUE, pokud metoda uspěje; NEPRAVDA, pokud metoda selže nebo pokud aplikace Animate nebyla volána pomocí bScheduleNow nastavena na FALSE.

Poznámky

Voláním této funkce naplánujete animaci v určený čas. Nejdřív musíte volat Animate s bScheduleNow nastaveným na FALSE.

CAnimationGroup::SetAutodestroyTransitions

Směruje všechny objekty animace, které patří do skupiny, automaticky zničí přechody.

void SetAutodestroyTransitions(BOOL bAutoDestroy = TRUE);

Parametry

bAutoDestroy
Určuje, jak zničit přechody.

Poznámky

Tuto hodnotu nastavte na FALSE pouze v případě, že přidělíte přechody v zásobníku. Výchozí hodnota je TRUE, proto důrazně doporučujeme přidělit přechodové objekty pomocí operátoru new.

Viz také

Třídy