Klasa CAnimationGroup
Implementuje grupę animacji, która łączy scenorys animacji, obiekty animacji i przejścia w celu zdefiniowania animacji.
Składnia
class CAnimationGroup;
Elementy członkowskie
Konstruktory publiczne
Nazwa/nazwisko | opis |
---|---|
CAnimationGroup::CAnimationGroup | Tworzy grupę animacji. |
CAnimationGroup::~CAnimationGroup | Destruktora. Wywoływana, gdy grupa animacji jest niszczona. |
Metody publiczne
Nazwa/nazwisko | opis |
---|---|
CAnimationGroup::Animowanie | Animuje grupę. |
CAnimationGroup::ApplyTransitions | Stosuje przejścia do obiektów animacji. |
CAnimationGroup::FindAnimationObject | Znajduje obiekt animacji zawierający określoną zmienną animacji. |
CAnimationGroup::GetGroupID | Zwraca identyfikator GroupID. |
CAnimationGroup::RemoveKeyframes | Usuwa i opcjonalnie niszczy wszystkie ramki kluczowe należące do grupy animacji. |
CAnimationGroup::RemoveTransitions | Usuwa przejścia z obiektów animacji należących do grupy animacji. |
CAnimationGroup::Schedule | Planuje animację o określonej godzinie. |
CAnimationGroup::SetAutodestroyTransitions | Kieruje wszystkie obiekty animacji należące do grupy automatycznie niszczy przejścia. |
Metody chronione
Nazwa/nazwisko | opis |
---|---|
CAnimationGroup::AddKeyframes | Pomocnik, który dodaje ramki kluczowe do scenorysu. |
CAnimationGroup::AddTransitions | Pomocnik, który dodaje przejścia do scenorysu. |
CAnimationGroup::CreateTransitions | Pomocnik, który tworzy obiekty przejścia MODELU COM. |
Publiczne elementy członkowskie danych
Nazwa/nazwisko | opis |
---|---|
CAnimationGroup::m_bAutoclearTransitions | Określa sposób czyszczenia przejść z obiektów animacji należących do grupy. Jeśli ten element członkowski ma wartość TRUE, przejścia są usuwane automatycznie po zaplanowaniu animacji. W przeciwnym razie należy ręcznie usunąć przejścia. |
CAnimationGroup::m_bAutodestroyAnimationObjects | Określa sposób niszczenia obiektów animacji. Jeśli ten parametr ma wartość TRUE, obiekty animacji zostaną zniszczone automatycznie, gdy grupa zostanie zniszczona. W przeciwnym razie obiekty animacji muszą zostać zniszczone ręcznie. Wartość domyślna to FALSE. Ustaw tę wartość na wartość TRUE tylko wtedy, gdy wszystkie obiekty animacji należące do grupy są przydzielane dynamicznie z operatorem new. |
CAnimationGroup::m_bAutodestroyKeyframes | Określa sposób niszczenia klatek kluczowych. Jeśli ta wartość ma wartość TRUE, wszystkie ramki kluczowe zostaną usunięte i zniszczone; w przeciwnym razie zostaną one usunięte tylko z listy. Wartość domyślna to TRUE. |
CAnimationGroup::m_lstAnimationObjects | Zawiera listę obiektów animacji. |
CAnimationGroup::m_lstKeyFrames | Zawiera listę klatek kluczowych. |
CAnimationGroup::m_pStoryboard | Wskazuje na scenorys animacji. Ten wskaźnik jest prawidłowy tylko po wywołaniu programu Animowanie. |
Chronione składowe danych
Nazwa/nazwisko | opis |
---|---|
CAnimationGroup::m_nGroupID | Unikatowy identyfikator grupy animacji. |
CAnimationGroup::m_pParentController | Wskaźnik kontrolera animacji, do którego należy ta grupa. |
Uwagi
Grupy animacji są tworzone automatycznie przez kontroler animacji (CAnimationController) podczas dodawania obiektów animacji przy użyciu CAnimationController::AddAnimationObject. Grupa animacji jest identyfikowana przez groupID, który jest zwykle traktowany jako parametr do manipulowania grupami animacji. Identyfikator GroupID jest pobierany z pierwszego obiektu animacji dodawanego do nowej grupy animacji. Hermetyzowany scenorys animacji jest tworzony po wywołaniu CAnimationController::AnimateGroup i można uzyskać do niej dostęp za pośrednictwem publicznego elementu członkowskiego m_pStoryboard.
Hierarchia dziedziczenia
CAnimationGroup
Wymagania
Nagłówek: afxanimationcontroller.h
CAnimationGroup::~CAnimationGroup
Destruktora. Wywoływana, gdy grupa animacji jest niszczona.
~CAnimationGroup();
CAnimationGroup::AddKeyframes
Pomocnik, który dodaje ramki kluczowe do scenorysu.
void AddKeyframes(IUIAnimationStoryboard* pStoryboard, BOOL bAddDeep);
Parametry
pStoryboard
Wskaźnik do obiektu com scenorysu.
bAddDeep
Określa, czy ta metoda powinna zostać dodana do ramek kluczowych scenorysu, które zależą od innych klatek kluczowych.
CAnimationGroup::AddTransitions
Pomocnik, który dodaje przejścia do scenorysu.
void AddTransitions(
IUIAnimationStoryboard* pStoryboard,
BOOL bDependOnKeyframes);
Parametry
pStoryboard
Wskaźnik do obiektu com scenorysu.
bDependOnKeyframes
CAnimationGroup::Animowanie
Animuje grupę.
BOOL Animate(
IUIAnimationManager* pManager,
IUIAnimationTimer* pTimer,
BOOL bScheduleNow);
Parametry
pManager
pTimerbScheduleNow
Wartość zwracana
Wartość TRUE, jeśli metoda powiedzie się; w przeciwnym razie FAŁSZ.
Uwagi
Ta metoda tworzy wewnętrzny scenorys, tworzy i stosuje przejścia i planuje animację, jeśli bScheduleNow ma wartość TRUE. Jeśli wartość bScheduleNow ma wartość FALSE, musisz wywołać harmonogram, aby rozpocząć animację o określonej godzinie.
CAnimationGroup::ApplyTransitions
Stosuje przejścia do obiektów animacji.
void ApplyTransitions();
Uwagi
Ta metoda ASERUJE w trybie debugowania, jeśli scenorys nie został utworzony. Najpierw tworzy wszystkie przejścia, a następnie dodaje "statyczne" ramki kluczowe (ramki kluczowe, które zależą od przesunięć), dodaje przejścia, które nie zależą od klatek kluczowych, dodaje ramki kluczowe w zależności od przejść i innych ramek kluczowych, a w końcu dodaje przejścia zależne od klatek kluczowych.
CAnimationGroup::CAnimationGroup
Tworzy grupę animacji.
CAnimationGroup(CAnimationController* pParentController, UINT32 nGroupID);
Parametry
pParentController
Wskaźnik do kontrolera animacji, który tworzy grupę.
nGroupID
Określa Identyfikator grupy.
CAnimationGroup::CreateTransitions
Pomocnik, który tworzy obiekty przejścia MODELU COM.
BOOL CreateTransitions();
Wartość zwracana
Wartość TRUE to metoda powiodła się, w przeciwnym razie wartość FALSE.
CAnimationGroup::FindAnimationObject
Znajduje obiekt animacji zawierający określoną zmienną animacji.
CAnimationBaseObject* FindAnimationObject(IUIAnimationVariable* pVariable);
Parametry
Zmienna
Wskaźnik do zmiennej animacji.
Wartość zwracana
Wskaźnik do obiektu animacji lub wartość NULL, jeśli nie znaleziono obiektu animacji.
CAnimationGroup::GetGroupID
Zwraca identyfikator GroupID.
UINT32 GetGroupID() const;
Wartość zwracana
Identyfikator grupy.
CAnimationGroup::m_bAutoclearTransitions
Określa sposób czyszczenia przejść z obiektów animacji należących do grupy. Jeśli ten element członkowski ma wartość TRUE, przejścia są usuwane automatycznie po zaplanowaniu animacji. W przeciwnym razie należy ręcznie usunąć przejścia.
BOOL m_bAutoclearTransitions;
CAnimationGroup::m_bAutodestroyAnimationObjects
Określa sposób niszczenia obiektów animacji. Jeśli ten parametr ma wartość TRUE, obiekty animacji zostaną zniszczone automatycznie, gdy grupa zostanie zniszczona. W przeciwnym razie obiekty animacji muszą zostać zniszczone ręcznie. Wartość domyślna to FALSE. Ustaw tę wartość na wartość TRUE tylko wtedy, gdy wszystkie obiekty animacji należące do grupy są przydzielane dynamicznie z operatorem new.
BOOL m_bAutodestroyAnimationObjects;
CAnimationGroup::m_bAutodestroyKeyframes
Określa sposób niszczenia klatek kluczowych. Jeśli ta wartość ma wartość TRUE, wszystkie ramki kluczowe zostaną usunięte i zniszczone; w przeciwnym razie zostaną one usunięte tylko z listy. Wartość domyślna to TRUE.
BOOL m_bAutodestroyKeyframes;
CAnimationGroup::m_lstAnimationObjects
Zawiera listę obiektów animacji.
CObList m_lstAnimationObjects;
CAnimationGroup::m_lstKeyFrames
Zawiera listę klatek kluczowych.
CObList m_lstKeyFrames;
CAnimationGroup::m_nGroupID
Unikatowy identyfikator grupy animacji.
UINT32 m_nGroupID;
CAnimationGroup::m_pParentController
Wskaźnik kontrolera animacji, do którego należy ta grupa.
CAnimationController* m_pParentController;
CAnimationGroup::m_pStoryboard
Wskazuje na scenorys animacji. Ten wskaźnik jest prawidłowy tylko po wywołaniu programu Animowanie.
ATL::CComPtr<IUIAnimationStoryboard> m_pStoryboard;
CAnimationGroup::RemoveKeyframes
Usuwa i opcjonalnie niszczy wszystkie ramki kluczowe należące do grupy animacji.
void RemoveKeyframes();
Uwagi
Jeśli m_bAutodestroyKeyframes element członkowski ma wartość TRUE, ramki kluczowe są usuwane i niszczone, w przeciwnym razie ramki kluczowe zostaną usunięte z wewnętrznej listy ramek kluczowych.
CAnimationGroup::RemoveTransitions
Usuwa przejścia z obiektów animacji należących do grupy animacji.
void RemoveTransitions();
Uwagi
Jeśli flaga m_bAutoclearTransitions ma wartość TRUE, ta metoda wykonuje pętle dla wszystkich obiektów animacji należących do grupy i wywołuje obiekt CAnimationObject::ClearTransitions(FALSE).
CAnimationGroup::Schedule
Planuje animację o określonej godzinie.
BOOL Schedule(IUIAnimationTimer* pTimer, UI_ANIMATION_SECONDS time);
Parametry
pTimer
Wskaźnik do czasomierza animacji.
Godzina
Określa czas planowania animacji.
Wartość zwracana
Wartość TRUE, jeśli metoda powiedzie się; FALSE, jeśli metoda nie powiedzie się lub jeśli animowanie nie zostało wywołane z bScheduleNow ustawiono wartość FALSE.
Uwagi
Wywołaj tę funkcję, aby zaplanować animację w określonym czasie. Najpierw należy wywołać metodę Animowanie z wartością bScheduleNow ustawioną na WARTOŚĆ FALSE.
CAnimationGroup::SetAutodestroyTransitions
Kieruje wszystkie obiekty animacji należące do grupy automatycznie niszczy przejścia.
void SetAutodestroyTransitions(BOOL bAutoDestroy = TRUE);
Parametry
bAutoDestroy
Określa sposób niszczenia przejść.
Uwagi
Ustaw tę wartość na WARTOŚĆ FALSE tylko wtedy, gdy przydzielisz przejścia na stos. Wartość domyślna to TRUE, dlatego zdecydowanie zaleca się przydzielenie obiektów przejścia przy użyciu operatora new.