Udostępnij za pośrednictwem


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.

Zobacz też

Klasy