CAnimationGroup-Klasse
Implementiert eine Animationsgruppe, die ein Animations-Storyboard, Animationsobjekte und Übergänge kombiniert, um eine Animation zu definieren.
Syntax
class CAnimationGroup;
Member
Öffentliche Konstruktoren
Name | Beschreibung |
---|---|
CAnimationGroup::CAnimationGroup | Erstellt eine Animationsgruppe. |
CAnimationGroup::~CAnimationGroup | Der Destruktor. Wird aufgerufen, wenn eine Animationsgruppe zerstört wird. |
Öffentliche Methoden
Name | Beschreibung |
---|---|
CAnimationGroup::Animate | Animiert eine Gruppe. |
CAnimationGroup::ApplyTransitions | Wendet Übergänge auf Animationsobjekte an. |
CAnimationGroup::FindAnimationObject | Sucht ein Animationsobjekt, das die angegebene Animationsvariable enthält. |
CAnimationGroup::GetGroupID | Gibt GroupID zurück. |
CAnimationGroup::RemoveKeyframes | Entfernt und zerstört optional alle Keyframes, die zu einer Animationsgruppe gehören. |
CAnimationGroup::RemoveTransitions | Entfernt Übergänge aus Animationsobjekten, die zu einer Animationsgruppe gehören. |
CAnimationGroup::Schedule | Plant eine Animation zum angegebenen Zeitpunkt. |
CAnimationGroup::SetAutodestroyTransitions | Leitet alle Animationsobjekte, die zur Gruppe gehören, automatisch Übergänge ab. |
Geschützte Methoden
Name | Beschreibung |
---|---|
CAnimationGroup::AddKeyframes | Ein Hilfsprogramm, das einem Storyboard Keyframes hinzufügt. |
CAnimationGroup::AddTransitions | Ein Hilfsprogramm, das Übergänge zu einem Storyboard hinzufügt. |
CAnimationGroup::CreateTransitions | Ein Hilfsprogramm, das COM-Übergangsobjekte erstellt. |
Öffentliche Datenmember
Name | Beschreibung |
---|---|
CAnimationGroup::m_bAutoclearTransitions | Gibt an, wie Übergänge aus Animationsobjekten gelöscht werden, die zu einer Gruppe gehören. Wenn dieses Element WAHR ist, werden Übergänge automatisch entfernt, wenn eine Animation geplant wurde. Andernfalls müssen Sie Übergänge manuell entfernen. |
CAnimationGroup::m_bAutodestroyAnimationObjects | Gibt an, wie Animationsobjekte zerstört werden. Wenn dieser Parameter TRUE ist, werden Animationsobjekte automatisch zerstört, wenn die Gruppe zerstört wird. Andernfalls müssen Animationsobjekte manuell zerstört werden. Der Standardwert ist FALSCH. Legen Sie diesen Wert nur auf TRUE fest, wenn alle Animationsobjekte, die zur Gruppe gehören, dynamisch dem Operator neu zugeordnet werden. |
CAnimationGroup::m_bAutodestroyKeyframes | Gibt an, wie Keyframes zerstört werden. Wenn dieser Wert WAHR ist, werden alle Keyframes entfernt und zerstört. andernfalls werden sie nur aus der Liste entfernt. Der Standardwert ist TRUE. |
CAnimationGroup::m_lstAnimationObjects | Enthält eine Liste von Animationsobjekten. |
CAnimationGroup::m_lstKeyFrames | Enthält eine Liste von Keyframes. |
CAnimationGroup::m_pStoryboard | Verweist auf das Animations-Storyboard. Dieser Zeiger ist nur nach dem Aufruf von Animate gültig. |
Geschützte Datenmember
Name | Beschreibung |
---|---|
CAnimationGroup::m_nGroupID | Ein eindeutiger Bezeichner der Animationsgruppe. |
CAnimationGroup::m_pParentController | Ein Zeiger auf den Animationscontroller, zu dem diese Gruppe gehört. |
Hinweise
Animationsgruppen werden automatisch vom Animationscontroller (CAnimationController) erstellt, wenn Sie Animationsobjekte mit CAnimationController::AddAnimationObject hinzufügen. Eine Animationsgruppe wird durch GroupID identifiziert, die in der Regel als Parameter zum Bearbeiten von Animationsgruppen verwendet wird. Die GroupID stammt aus dem ersten Animationsobjekt, das einer neuen Animationsgruppe hinzugefügt wird. Ein gekapseltes Animations-Storyboard wird erstellt, nachdem Sie CAnimationController::AnimateGroup aufgerufen haben und über öffentliche Member-m_pStoryboard darauf zugreifen können.
Vererbungshierarchie
CAnimationGroup
Anforderungen
Header: afxanimationcontroller.h
CAnimationGroup::~CAnimationGroup
Der Destruktor. Wird aufgerufen, wenn eine Animationsgruppe zerstört wird.
~CAnimationGroup();
CAnimationGroup::AddKeyframes
Ein Hilfsprogramm, das einem Storyboard Keyframes hinzufügt.
void AddKeyframes(IUIAnimationStoryboard* pStoryboard, BOOL bAddDeep);
Parameter
pStoryboard
Ein Zeiger auf ein Storyboard-COM-Objekt.
bAddDeep
Gibt an, ob diese Methode den Storyboard-Keyframes hinzugefügt werden soll, die von anderen Keyframes abhängen.
CAnimationGroup::AddTransitions
Ein Hilfsprogramm, das Übergänge zu einem Storyboard hinzufügt.
void AddTransitions(
IUIAnimationStoryboard* pStoryboard,
BOOL bDependOnKeyframes);
Parameter
pStoryboard
Ein Zeiger auf ein Storyboard-COM-Objekt.
bDependOnKeyframes
CAnimationGroup::Animate
Animiert eine Gruppe.
BOOL Animate(
IUIAnimationManager* pManager,
IUIAnimationTimer* pTimer,
BOOL bScheduleNow);
Parameter
pManager
pTimerbScheduleNow
Rückgabewert
TRUE, wenn die Methode erfolgreich ist; andernfalls FALSE.
Hinweise
Diese Methode erstellt ein internes Storyboard, erstellt und wendet Übergänge an und plant eine Animation, wenn bScheduleNow TRUE ist. Wenn bScheduleNow FALSCH ist, müssen Sie "Schedule" aufrufen, um die Animation zu dem angegebenen Zeitpunkt zu starten.
CAnimationGroup::ApplyTransitions
Wendet Übergänge auf Animationsobjekte an.
void ApplyTransitions();
Hinweise
Diese Methode BESTÄTIGT im Debugmodus, wenn das Storyboard nicht erstellt wurde. Es erstellt zuerst alle Übergänge, fügt dann "statische" Keyframes (Keyframes, die von Offsets abhängen) hinzu, fügt Übergänge hinzu, die nicht von Keyframes abhängig sind, fügt Keyframes je nach Übergängen und anderen Keyframes hinzu und fügt zuletzt Übergänge hinzu, die von Keyframes abhängen.
CAnimationGroup::CAnimationGroup
Erstellt eine Animationsgruppe.
CAnimationGroup(CAnimationController* pParentController, UINT32 nGroupID);
Parameter
pParentController
Ein Zeiger auf animationscontroller, der eine Gruppe erstellt.
nGroupID
Gibt "GroupID" an.
CAnimationGroup::CreateTransitions
Ein Hilfsprogramm, das COM-Übergangsobjekte erstellt.
BOOL CreateTransitions();
Rückgabewert
TRUE ist die methode erfolgreich, andernfalls FALSE.
CAnimationGroup::FindAnimationObject
Sucht ein Animationsobjekt, das die angegebene Animationsvariable enthält.
CAnimationBaseObject* FindAnimationObject(IUIAnimationVariable* pVariable);
Parameter
pVariable
Ein Zeiger auf die Animationsvariable.
Rückgabewert
Ein Zeiger auf ein Animationsobjekt oder NULL, wenn das Animationsobjekt nicht gefunden wird.
CAnimationGroup::GetGroupID
Gibt GroupID zurück.
UINT32 GetGroupID() const;
Rückgabewert
Ein Gruppenbezeichner.
CAnimationGroup::m_bAutoclearTransitions
Gibt an, wie Übergänge aus Animationsobjekten gelöscht werden, die zu einer Gruppe gehören. Wenn dieses Element WAHR ist, werden Übergänge automatisch entfernt, wenn eine Animation geplant wurde. Andernfalls müssen Sie Übergänge manuell entfernen.
BOOL m_bAutoclearTransitions;
CAnimationGroup::m_bAutodestroyAnimationObjects
Gibt an, wie Animationsobjekte zerstört werden. Wenn dieser Parameter TRUE ist, werden Animationsobjekte automatisch zerstört, wenn die Gruppe zerstört wird. Andernfalls müssen Animationsobjekte manuell zerstört werden. Der Standardwert ist FALSCH. Legen Sie diesen Wert nur auf TRUE fest, wenn alle Animationsobjekte, die zur Gruppe gehören, dynamisch dem Operator neu zugeordnet werden.
BOOL m_bAutodestroyAnimationObjects;
CAnimationGroup::m_bAutodestroyKeyframes
Gibt an, wie Keyframes zerstört werden. Wenn dieser Wert WAHR ist, werden alle Keyframes entfernt und zerstört. andernfalls werden sie nur aus der Liste entfernt. Der Standardwert ist TRUE.
BOOL m_bAutodestroyKeyframes;
CAnimationGroup::m_lstAnimationObjects
Enthält eine Liste von Animationsobjekten.
CObList m_lstAnimationObjects;
CAnimationGroup::m_lstKeyFrames
Enthält eine Liste von Keyframes.
CObList m_lstKeyFrames;
CAnimationGroup::m_nGroupID
Ein eindeutiger Bezeichner der Animationsgruppe.
UINT32 m_nGroupID;
CAnimationGroup::m_pParentController
Ein Zeiger auf den Animationscontroller, zu dem diese Gruppe gehört.
CAnimationController* m_pParentController;
CAnimationGroup::m_pStoryboard
Verweist auf das Animations-Storyboard. Dieser Zeiger ist nur nach dem Aufruf von Animate gültig.
ATL::CComPtr<IUIAnimationStoryboard> m_pStoryboard;
CAnimationGroup::RemoveKeyframes
Entfernt und zerstört optional alle Keyframes, die zu einer Animationsgruppe gehören.
void RemoveKeyframes();
Hinweise
Wenn m_bAutodestroyKeyframes Mitglied WAHR ist, werden Keyframes entfernt und zerstört, andernfalls werden Keyframes einfach aus der internen Liste der Keyframes entfernt.
CAnimationGroup::RemoveTransitions
Entfernt Übergänge aus Animationsobjekten, die zu einer Animationsgruppe gehören.
void RemoveTransitions();
Hinweise
Wenn m_bAutoclearTransitions Flag auf TRUE festgelegt ist, durchläuft diese Methode alle Animationsobjekte, die zur Gruppe gehören, und ruft CAnimationObject::ClearTransitions(FALSE) auf.
CAnimationGroup::Schedule
Plant eine Animation zum angegebenen Zeitpunkt.
BOOL Schedule(IUIAnimationTimer* pTimer, UI_ANIMATION_SECONDS time);
Parameter
pTimer
Ein Zeiger auf den Animationstimer.
time
Gibt die Zeit zum Planen der Animation an.
Rückgabewert
TRUE, wenn die Methode erfolgreich ist; FALSE, wenn die Methode fehlschlägt oder Animate nicht aufgerufen wurde, wobei bScheduleNow auf FALSE festgelegt ist.
Hinweise
Rufen Sie diese Funktion auf, um eine Animation zum angegebenen Zeitpunkt zu planen. Sie müssen Animate aufrufen, wobei bScheduleNow zuerst auf FALSE festgelegt ist.
CAnimationGroup::SetAutodestroyTransitions
Leitet alle Animationsobjekte, die zur Gruppe gehören, automatisch Übergänge ab.
void SetAutodestroyTransitions(BOOL bAutoDestroy = TRUE);
Parameter
bAutoDestroy
Gibt an, wie Übergänge zerstört werden.
Hinweise
Legen Sie diesen Wert nur auf FALSE fest, wenn Sie Übergänge im Stapel zuweisen. Der Standardwert ist TRUE, daher wird dringend empfohlen, Übergangsobjekte mithilfe von Operator neu zuzuweisen.