Udostępnij za pośrednictwem


Klasa CAnimationBaseObject

Klasa bazowa dla wszystkich obiektów animacji.

Składnia

class CAnimationBaseObject : public CObject;

Członkowie

Konstruktory publiczne

Nazwa/nazwisko opis
CAnimationBaseObject::CAnimationBaseObject Przeciążone. Tworzy obiekt animacji.
CAnimationBaseObject::~CAnimationBaseObject Destruktora. Wywoływana, gdy obiekt animacji jest niszczony.

Metody publiczne

Nazwa/nazwisko opis
CAnimationBaseObject::ApplyTransitions Dodaje przejścia do scenorysu z hermetyzowaną zmienną animacji.
CAnimationBaseObject::ClearTransitions Usuwa wszystkie powiązane przejścia.
CAnimationBaseObject::ContainsVariable Określa, czy obiekt animacji zawiera określoną zmienną animacji.
CAnimationBaseObject::CreateTransitions Tworzy przejścia skojarzone z obiektem animacji.
CAnimationBaseObject::D etachFromController Odłącza obiekt animacji od nadrzędnego kontrolera animacji.
CAnimationBaseObject::EnableIntegerValueChangedEvent Konfiguruje procedurę obsługi zdarzeń zmienioną wartość całkowitą.
CAnimationBaseObject::EnableValueChangedEvent Konfiguruje procedurę obsługi zdarzeń zmienioną wartość.
CAnimationBaseObject::GetAutodestroyTransitions Informuje, czy powiązane przejście jest niszczone automatycznie.
CAnimationBaseObject::GetGroupID Zwraca bieżący identyfikator grupy.
CAnimationBaseObject::GetObjectID Zwraca bieżący identyfikator obiektu.
CAnimationBaseObject::GetUserData Zwraca dane zdefiniowane przez użytkownika.
CAnimationBaseObject::SetAutodestroyTransitions Ustawia flagę, aby automatycznie zniszczyć przejścia.
CAnimationBaseObject::SetID Ustawia nowe identyfikatory.
CAnimationBaseObject::SetUserData Ustawia dane zdefiniowane przez użytkownika.

Metody chronione

Nazwa/nazwisko opis
CAnimationBaseObject::GetAnimationVariableList Zbiera wskaźniki do zawartych zmiennych animacji.
CAnimationBaseObject::SetParentAnimationObjects Ustanawia relację między zmiennymi animacji, zawartymi w obiekcie animacji i ich kontenerem.

Chronione składowe danych

Nazwa/nazwisko opis
CAnimationBaseObject::m_bAutodestroyTransitions Określa, czy powiązane przejścia powinny zostać automatycznie zniszczone.
CAnimationBaseObject::m_dwUserData Przechowuje dane zdefiniowane przez użytkownika.
CAnimationBaseObject::m_nGroupID Określa identyfikator grupy obiektu animacji.
CAnimationBaseObject::m_nObjectID Określa identyfikator obiektu animacji.
CAnimationBaseObject::m_pParentController Wskaźnik do nadrzędnego kontrolera animacji.

Uwagi

Ta klasa implementuje podstawowe metody dla wszystkich obiektów animacji. Obiekt animacji może reprezentować wartość, punkt, rozmiar, prostokąt lub kolor w aplikacji, a także dowolną jednostkę niestandardową. Obiekty animacji są przechowywane w grupach animacji (zobacz CAnimationGroup). Każda grupa może być animowana oddzielnie i może być traktowana jako analogia scenorysu. Obiekt animacji hermetyzuje co najmniej jedną zmienną animacji (zobacz CAnimationVariable), w zależności od jego reprezentacji logicznej. Na przykład CAnimationRect zawiera cztery zmienne animacji — jedną zmienną dla każdej strony prostokąta. Każda klasa obiektów animacji uwidacznia przeciążona metodę AddTransition, która powinna służyć do stosowania przejść do hermetyzowanych zmiennych animacji. Obiekt animacji można zidentyfikować za pomocą identyfikatora obiektu (opcjonalnie) i identyfikatora grupy. Identyfikator grupy jest niezbędny, aby umieścić obiekt animacji do poprawnej grupy, ale jeśli identyfikator grupy nie zostanie określony, obiekt zostanie umieszczony w grupie domyślnej o identyfikatorze 0. Jeśli wywołasz metodę SetID z innym identyfikatorem GroupID, obiekt animacji zostanie przeniesiony do innej grupy (w razie potrzeby zostanie utworzona nowa grupa).

Hierarchia dziedziczenia

Cobject

CAnimationBaseObject

Wymagania

Nagłówek: afxanimationcontroller.h

CAnimationBaseObject::~CAnimationBaseObject

Destruktora. Wywoływana, gdy obiekt animacji jest niszczony.

virtual ~CAnimationBaseObject();

CAnimationBaseObject::ApplyTransitions

Dodaje przejścia do scenorysu z hermetyzowaną zmienną animacji.

virtual BOOL ApplyTransitions(
    IUIAnimationStoryboard* pStoryboard,
    BOOL bDependOnKeyframes);

Parametry

pStoryboard
Wskaźnik do scenorysu.

bDependOnKeyframes
W przypadku wartości FALSE ta metoda dodaje tylko te przejścia, które nie zależą od klatek kluczowych.

Wartość zwracana

Wartość TRUE, jeśli przejścia zostały pomyślnie dodane.

Uwagi

Dodaje powiązane przejścia, które zostały dodane z funkcją AddTransition (przeciążone metody w klasach pochodnych), do scenorysu.

CAnimationBaseObject::CAnimationBaseObject

Tworzy obiekt animacji.

CAnimationBaseObject();

CAnimationBaseObject(
    UINT32 nGroupID,
    UINT32 nObjectID = (UINT32)-1,
    DWORD dwUserData = 0);

Parametry

nGroupID
Określa identyfikator grupy.

nObjectID
Określa identyfikator obiektu.

dwUserData
Dane zdefiniowane przez użytkownika, które mogą być skojarzone z obiektem animacji i pobierane później w czasie wykonywania.

Uwagi

Tworzy obiekty animacji i przypisuje domyślny identyfikator obiektu (0) i identyfikator grupy (0).

CAnimationBaseObject::ClearTransitions

Usuwa wszystkie powiązane przejścia.

virtual void ClearTransitions(BOOL bAutodestroy);

Parametry

bAutodestroy
Określa, czy obiekty przejściowe mają być niszczone automatycznie, czy po prostu usunąć je z powiązanej listy.

Uwagi

Usuwa wszystkie powiązane przejścia i niszczy je, jeśli flaga bAutodestroy lub m_bAutodestroyTransitions ma wartość TRUE. Przejścia powinny być niszczone automatycznie tylko wtedy, gdy nie są przydzielane na stosie. Jeśli powyższe flagi to FAŁSZ, przejścia zostaną usunięte z wewnętrznej listy powiązanych przejść.

CAnimationBaseObject::ContainsVariable

Określa, czy obiekt animacji zawiera określoną zmienną animacji.

virtual BOOL ContainsVariable(IUIAnimationVariable* pVariable);

Parametry

Zmienna
Wskaźnik do zmiennej animacji.

Wartość zwracana

WARTOŚĆ TRUE, jeśli zmienna animacji znajduje się w obiekcie animacji; w przeciwnym razie FAŁSZ.

Uwagi

Tej metody można użyć do określenia, czy zmienna animacji określona przez zmienną pVariable jest zawarta w obiekcie animacji. Obiekt animacji, w zależności od typu, może zawierać kilka zmiennych animacji. Na przykład CAnimationColor zawiera trzy zmienne, po jednym dla każdego składnika koloru (czerwony, zielony i niebieski). Gdy wartość zmiennej animacji uległa zmianie, interfejs API animacji systemu Windows wysyła zdarzenia ValueChanged lub IntegerValueChanged (jeśli jest włączone), a parametr tego zdarzenia jest wskaźnikiem do interfejsu IUIAnimationVariable zmiennej animacji. Ta metoda pomaga uzyskać wskaźnik do animacji z wskaźnika do zawartego obiektu COM.

CAnimationBaseObject::CreateTransitions

Tworzy przejścia skojarzone z obiektem animacji.

BOOL CreateTransitions();

Wartość zwracana

Wartość TRUE, jeśli przejścia zostały utworzone pomyślnie; w przeciwnym razie FAŁSZ.

Uwagi

Pętle na liście zmiennych animacji hermetyzowane w pochodnym obiekcie animacji i tworzy przejścia skojarzone z każdą zmienną animacji.

CAnimationBaseObject::D etachFromController

Odłącza obiekt animacji od nadrzędnego kontrolera animacji.

void DetachFromController();

Uwagi

Ta metoda jest używana wewnętrznie.

CAnimationBaseObject::EnableIntegerValueChangedEvent

Konfiguruje procedurę obsługi zdarzeń zmienioną wartość całkowitą.

virtual void EnableIntegerValueChangedEvent(
    CAnimationController* pController,
    BOOL bEnable);

Parametry

pController
Wskaźnik do kontrolera nadrzędnego.

bEnable
Określa, czy włączyć lub wyłączyć zdarzenie Zmieniono wartość całkowitą.

Uwagi

Jeśli procedura obsługi zdarzeń zmieniona wartość całkowita jest włączona, można obsłużyć to zdarzenie w CAnimationController::OnAnimationIntegerValueChanged, która powinna zostać zastąpiona w klasie pochodnej CAnimationController. Ta metoda jest wywoływana za każdym razem, gdy wartość liczby całkowitej animacji uległa zmianie.

CAnimationBaseObject::EnableValueChangedEvent

Konfiguruje procedurę obsługi zdarzeń zmienioną wartość.

virtual void EnableValueChangedEvent(
    CAnimationController* pController,
    BOOL bEnable);

Parametry

pController
Wskaźnik do kontrolera nadrzędnego.

bEnable
Określa, czy włączyć, czy wyłączyć zdarzenie Zmieniono wartość.

Uwagi

Jeśli program obsługi zdarzeń Zmieniono wartość jest włączony, można obsłużyć to zdarzenie w CAnimationController::OnAnimationValueChanged, która powinna zostać zastąpiona w klasie pochodnej CAnimationController. Ta metoda jest wywoływana za każdym razem, gdy wartość animacji uległa zmianie.

CAnimationBaseObject::GetAnimationVariableList

Zbiera wskaźniki do zawartych zmiennych animacji.

virtual void GetAnimationVariableList(
    CList<CAnimationVariable*,
    CAnimationVariable*>& list) = 0;

Parametry

lista
Lista, która musi być wypełniona zmiennymi animacji zawartymi w obiekcie animacji.

Uwagi

Ta czysta metoda wirtualna musi zostać zastąpiona w klasie pochodnej. Obiekt animacji, w zależności od jego typu, zawiera co najmniej jedną zmienną animacji. Na przykład CAnimationPoint zawiera dwie zmienne odpowiednio dla współrzędnych X i Y. Klasa bazowa CAnimationBaseObject implementuje niektóre metody ogólne, które działają na liście zmiennych animacji: ApplyTransitions, ClearTransitions, EnableValueChangedEvent, EnableIntegerValueChangedEvent. Te metody wywołają metodę GetAnimationVariableList, która jest wypełniona klasy pochodnej rzeczywistymi zmiennymi animacji zawartymi w określonym obiekcie animacji, a następnie wykonaj pętlę na liście i wykonaj niezbędne akcje. Jeśli tworzysz niestandardowy obiekt animacji, musisz dodać element , aby wyświetlić listę wszystkich zmiennych animacji zawartych w tym obiekcie.

CAnimationBaseObject::GetAutodestroyTransitions

Informuje, czy powiązane przejście jest niszczone automatycznie.

BOOL GetAutodestroyTransitions() const;

Wartość zwracana

Jeśli wartość TRUE, powiązane przejścia są niszczone automatycznie; jeśli fałsz, obiekty przejścia powinny zostać cofnięto przydział przez wywołanie aplikacji.

Uwagi

Domyślnie ta flaga ma wartość TRUE. Ustaw tę flagę tylko wtedy, gdy przydzielono przejście na stos i/lub przejścia, powinno zostać cofnięto przydział przez aplikację wywołującą.

CAnimationBaseObject::GetGroupID

Zwraca bieżący identyfikator grupy.

UINT32 GetGroupID() const;

Wartość zwracana

Bieżący identyfikator grupy.

Uwagi

Użyj tej metody, aby pobrać identyfikator grupy. Jest to wartość 0, jeśli identyfikator grupy nie został jawnie ustawiony w konstruktorze lub z identyfikatorem SetID.

CAnimationBaseObject::GetObjectID

Zwraca bieżący identyfikator obiektu.

UINT32 GetObjectID() const;

Wartość zwracana

Bieżący identyfikator obiektu.

Uwagi

Użyj tej metody, aby pobrać identyfikator obiektu. Jest to wartość 0, jeśli identyfikator obiektu nie został jawnie ustawiony w konstruktorze lub z identyfikatorem SetID.

CAnimationBaseObject::GetUserData

Zwraca dane zdefiniowane przez użytkownika.

DWORD GetUserData() const;

Wartość zwracana

Wartość danych niestandardowych.

Uwagi

Wywołaj tę metodę, aby pobrać dane niestandardowe w czasie wykonywania. Zwrócona wartość będzie wynosić 0, jeśli nie została jawnie zainicjowana w konstruktorze lub za pomocą polecenia SetUserData.

CAnimationBaseObject::m_bAutodestroyTransitions

Określa, czy powiązane przejścia powinny zostać automatycznie zniszczone.

BOOL m_bAutodestroyTransitions;

CAnimationBaseObject::m_dwUserData

Przechowuje dane zdefiniowane przez użytkownika.

DWORD m_dwUserData;

CAnimationBaseObject::m_nGroupID

Określa identyfikator grupy obiektu animacji.

UINT32 m_nGroupID;

CAnimationBaseObject::m_nObjectID

Określa identyfikator obiektu animacji.

UINT32 m_nObjectID;

CAnimationBaseObject::m_pParentController

Wskaźnik do nadrzędnego kontrolera animacji.

CAnimationController* m_pParentController;

CAnimationBaseObject::SetAutodestroyTransitions

Ustawia flagę, aby automatycznie zniszczyć przejścia.

void SetAutodestroyTransitions(BOOL bValue);

Parametry

bValue
Określa flagę automatycznego niszczenia.

Uwagi

Ustaw tę flagę tylko wtedy, gdy przydzielono obiekty przejścia przy użyciu operatora new. Jeśli z jakiegoś powodu obiekty przejścia są przydzielane na stosie, flaga automatycznego niszczenia powinna mieć wartość FALSE. Domyślnie ta flaga ma wartość TRUE.

CAnimationBaseObject::SetID

Ustawia nowe identyfikatory.

void SetID(
    UINT32 nObjectID,
    UINT32 nGroupID = 0);

Parametry

nObjectID
Określa nowy identyfikator obiektu.

nGroupID
Określa nowy identyfikator grupy.

Uwagi

Umożliwia zmianę identyfikatora obiektu i identyfikatora grupy. Jeśli nowy identyfikator grupy różni się od bieżącego identyfikatora, obiekt animacji zostanie przeniesiony do innej grupy (w razie potrzeby zostanie utworzona nowa grupa).

CAnimationBaseObject::SetParentAnimationObjects

Ustanawia relację między zmiennymi animacji, zawartymi w obiekcie animacji i ich kontenerem.

virtual void SetParentAnimationObjects();

Uwagi

Ten pomocnik może służyć do ustanowienia relacji między zmiennymi animacji zawartymi w obiekcie animacji i ich kontenerem. Wykonuje pętle na zmiennych animacji i ustawia wskaźnik wsteczny na obiekt animacji nadrzędnej na każdą zmienną animacji. W bieżącej implementacji rzeczywista relacja jest ustanawiana w obiekcie CAnimationBaseObject::ApplyTransitions, dlatego wskaźniki wsteczne nie są ustawiane do momentu wywołania klasy CAnimationGroup::Animowanie. Znajomość relacji może być przydatna podczas przetwarzania zdarzeń i konieczności pobrania obiektu animacji nadrzędnej z CAnimationVariable. Użyj obiektu CAnimationVariable::GetParentAnimationObject.

CAnimationBaseObject::SetUserData

Ustawia dane zdefiniowane przez użytkownika.

void SetUserData (DWORD dwUserData);

Parametry

dwUserData
Określa dane niestandardowe.

Uwagi

Ta metoda umożliwia skojarzenie danych niestandardowych z obiektem animacji. Te dane mogą być pobierane później w czasie wykonywania przez polecenie GetUserData.

Zobacz też

Klasy