Megosztás a következőn keresztül:


CAnimationGroup osztály

Megjegyzés:

A Microsoft Foundation Classes (MFC) könyvtár továbbra is támogatott. A továbbiakban azonban nem adunk hozzá funkciókat, és nem frissítjük a dokumentációt.

Egy animációs csoportot valósít meg, amely egy animációs forgatókönyvet, animációs objektumot és áttűnést kombinál egy animáció definiálásához.

Szemantika

class CAnimationGroup;

Tagok

Nyilvános konstruktorok

Név Description
CAnimationGroup::CAnimationGroup Animációs csoportot hoz létre.
CAnimationGroup::~CAnimationGroup A destruktor. Egy animációs csoport elpusztításakor hívjuk.

Nyilvános metódusok

Név Description
CAnimationGroup::Animálás Csoport animálása.
CAnimationGroup::ApplyTransitions Áttűnéseket alkalmaz animációs objektumokra.
CAnimationGroup::FindAnimationObject Megkeres egy animációs objektumot, amely a megadott animációs változót tartalmazza.
CAnimationGroup::GetGroupID GroupID értéket ad vissza.
CAnimationGroup::RemoveKeyframes Eltávolítja és opcionálisan megsemmisíti az animációs csoporthoz tartozó összes kulcskeretet.
CAnimationGroup::RemoveTransitions Eltávolítja az animációs csoporthoz tartozó animációs objektumok áttűnéseit.
CAnimationGroup::Schedule A megadott időpontban ütemez egy animációt.
CAnimationGroup::SetAutodestroyTransitions A csoporthoz tartozó összes animációs objektumot automatikusan megsemmisíti.

Védett metódusok

Név Description
CAnimationGroup::AddKeyframes Egy segéd, amely kulcskereteket ad hozzá egy történethez.
CAnimationGroup::AddTransitions Egy segéd, amely áttűnéseket ad hozzá egy történethez.
CAnimationGroup::CreateTransitions Com-áttűnési objektumokat létrehozó segéd.

Nyilvános adatok tagjai

Név Description
CAnimationGroup::m_bAutoclearTransitions Megadja, hogyan törölhető a csoporthoz tartozó animációs objektumok áttűnéseinek törlése. Ha ez a tag IGAZ, az áttűnések automatikusan törlődnek egy animáció ütemezésekor. Ellenkező esetben manuálisan kell eltávolítania az áttűnéseket.
CAnimationGroup::m_bAutodestroyAnimationObjects Meghatározza, hogyan lehet megsemmisíteni az animációs objektumokat. Ha ez a paraméter IGAZ, az animációs objektumok automatikusan el lesznek pusztítva a csoport megsemmisítésekor. Ellenkező esetben az animációs objektumokat manuálisan kell megsemmisíteni. Az alapértelmezett érték HAMIS. Ezt az értéket csak akkor állítsa TRUE értékre, ha a csoporthoz tartozó összes animációs objektum dinamikusan van lefoglalva az új operátorral.
CAnimationGroup::m_bAutodestroyKeyframes Meghatározza, hogyan lehet megsemmisíteni a kulcskereteket. Ha ez az érték IGAZ, a rendszer eltávolítja és megsemmisíti az összes kulcskeretet; ellenkező esetben csak a listából lesznek eltávolítva. Az alapértelmezett érték TRUE.
CAnimationGroup::m_lstAnimationObjects Animációs objektumok listáját tartalmazza.
CAnimationGroup::m_lstKeyFrames A kulcskeretek listáját tartalmazza.
CAnimationGroup::m_pStoryboard Animációs forgatókönyvre mutat. Ez a mutató csak az Animálás hívása után érvényes.

Védett adattagok

Név Description
CAnimationGroup::m_nGroupID Az animációs csoport egyedi azonosítója.
CAnimationGroup::m_pParentController A csoporthoz tartozó animációvezérlő mutatója.

Megjegyzések

Az animációs csoportokat automatikusan az animációvezérlő (CAnimationController) hozza létre, amikor animációs objektumokat ad hozzá a CAnimationController::AddAnimationObject paranccsal. Az animációs csoportokat a GroupID azonosítja, amely általában paraméterként szolgál az animációs csoportok manipulálásához. A GroupID az új animációs csoporthoz hozzáadott első animációs objektumból származik. A CAnimationController::AnimateGroup meghívása után létrejön egy beágyazott animációs forgatókönyv, amely nyilvános m_pStoryboard keresztül érhető el.

Öröklési hierarchia

CAnimationGroup

Requirements

Fejléc: afxanimationcontroller.h

CAnimationGroup::~CAnimationGroup

A destruktor. Egy animációs csoport elpusztításakor hívjuk.

~CAnimationGroup();

CAnimationGroup::AddKeyframes

Egy segéd, amely kulcskereteket ad hozzá egy történethez.

void AddKeyframes(IUIAnimationStoryboard* pStoryboard, BOOL bAddDeep);

Paraméterek

pStoryboard
Mutató egy storyboard COM-objektumra.

bAddDeep
Megadja, hogy ez a módszer hozzáadható-e a többi kulcskerettől függő alaplapi kulcskerethez.

CAnimationGroup::AddTransitions

Egy segéd, amely áttűnéseket ad hozzá egy történethez.

void AddTransitions(
    IUIAnimationStoryboard* pStoryboard,
    BOOL bDependOnKeyframes);

Paraméterek

pStoryboard
Mutató egy storyboard COM-objektumra.

bDependOnKeyframes

CAnimationGroup::Animálás

Csoport animálása.

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

Paraméterek

pManager
pTimerbScheduleNow

Visszaadott érték

IGAZ, ha a metódus sikeres; egyéb esetben HAMIS.

Megjegyzések

Ez a módszer létrehoz egy belső forgatókönyvet, létrehoz és alkalmaz áttűnéseket, és ütemez egy animációt, ha a bScheduleNow IGAZ. Ha a bScheduleNow HAMIS, a megadott időpontban meg kell hívnia az Ütemezést az animáció elindításához.

CAnimationGroup::ApplyTransitions

Áttűnéseket alkalmaz animációs objektumokra.

void ApplyTransitions();

Megjegyzések

Ez a metódus hibakeresési módban ÉRVÉNYES, ha a storyboard nem lett létrehozva. Először az összes áttűnést létrehozza, majd hozzáadja a "statikus" kulcskereteket (az eltolásoktól függő kulcskereteket), olyan áttűnéseket ad hozzá, amelyek nem függnek a kulcskerettől, az áttűnésektől és más kulcskerettől függően hozzáadja a kulcskereteket, végül pedig hozzáadja a kulcskerettől függő áttűnéseket.

CAnimationGroup::CAnimationGroup

Animációs csoportot hoz létre.

CAnimationGroup(CAnimationController* pParentController, UINT32 nGroupID);

Paraméterek

pParentController
Egy csoportot létrehozó animációvezérlő mutatója.

nGroupID
A GroupID értéket adja meg.

CAnimationGroup::CreateTransitions

Com-áttűnési objektumokat létrehozó segéd.

BOOL CreateTransitions();

Visszaadott érték

IGAZ: a metódus sikeres, ellenkező esetben HAMIS.

CAnimationGroup::FindAnimationObject

Megkeres egy animációs objektumot, amely a megadott animációs változót tartalmazza.

CAnimationBaseObject* FindAnimationObject(IUIAnimationVariable* pVariable);

Paraméterek

pVariable
Egy animációs változóra mutató mutató.

Visszaadott érték

Egy animációs objektumra mutató mutató, vagy null értékű, ha az animációs objektum nem található.

CAnimationGroup::GetGroupID

GroupID értéket ad vissza.

UINT32 GetGroupID() const;

Visszaadott érték

Csoportazonosító.

CAnimationGroup::m_bAutoclearTransitions

Megadja, hogyan törölhető a csoporthoz tartozó animációs objektumok áttűnéseinek törlése. Ha ez a tag IGAZ, az áttűnések automatikusan törlődnek egy animáció ütemezésekor. Ellenkező esetben manuálisan kell eltávolítania az áttűnéseket.

BOOL m_bAutoclearTransitions;

CAnimationGroup::m_bAutodestroyAnimationObjects

Meghatározza, hogyan lehet megsemmisíteni az animációs objektumokat. Ha ez a paraméter IGAZ, az animációs objektumok automatikusan el lesznek pusztítva a csoport megsemmisítésekor. Ellenkező esetben az animációs objektumokat manuálisan kell megsemmisíteni. Az alapértelmezett érték HAMIS. Ezt az értéket csak akkor állítsa TRUE értékre, ha a csoporthoz tartozó összes animációs objektum dinamikusan van lefoglalva az új operátorral.

BOOL m_bAutodestroyAnimationObjects;

CAnimationGroup::m_bAutodestroyKeyframes

Meghatározza, hogyan lehet megsemmisíteni a kulcskereteket. Ha ez az érték IGAZ, a rendszer eltávolítja és megsemmisíti az összes kulcskeretet; ellenkező esetben csak a listából lesznek eltávolítva. Az alapértelmezett érték TRUE.

BOOL m_bAutodestroyKeyframes;

CAnimationGroup::m_lstAnimationObjects

Animációs objektumok listáját tartalmazza.

CObList m_lstAnimationObjects;

CAnimationGroup::m_lstKeyFrames

A kulcskeretek listáját tartalmazza.

CObList m_lstKeyFrames;

CAnimationGroup::m_nGroupID

Az animációs csoport egyedi azonosítója.

UINT32 m_nGroupID;

CAnimationGroup::m_pParentController

A csoporthoz tartozó animációvezérlő mutatója.

CAnimationController* m_pParentController;

CAnimationGroup::m_pStoryboard

Animációs forgatókönyvre mutat. Ez a mutató csak az Animálás hívása után érvényes.

ATL::CComPtr<IUIAnimationStoryboard> m_pStoryboard;

CAnimationGroup::RemoveKeyframes

Eltávolítja és opcionálisan megsemmisíti az animációs csoporthoz tartozó összes kulcskeretet.

void RemoveKeyframes();

Megjegyzések

Ha m_bAutodestroyKeyframes tag IGAZ, akkor a rendszer eltávolítja és megsemmisíti a kulcskereteket, ellenkező esetben a rendszer csak eltávolítja a kulcskereteket a kulcskeretek belső listájából.

CAnimationGroup::RemoveTransitions

Eltávolítja az animációs csoporthoz tartozó animációs objektumok áttűnéseit.

void RemoveTransitions();

Megjegyzések

Ha m_bAutoclearTransitions jelölő ÉRTÉKE IGAZ, ez a metódus a csoporthoz tartozó összes animációs objektumra hurkol, és meghívja a CAnimationObject::ClearTransitions(FALSE) parancsot.

CAnimationGroup::Schedule

A megadott időpontban ütemez egy animációt.

BOOL Schedule(IUIAnimationTimer* pTimer, UI_ANIMATION_SECONDS time);

Paraméterek

pTimer
Mutató az animáció időzítőhöz.

time
Megadja az animáció ütemezésének idejét.

Visszaadott érték

IGAZ, ha a metódus sikeres; HAMIS, ha a metódus sikertelen, vagy ha az Animálás nem lett meghívva, és a bScheduleNow értéke HAMIS.

Megjegyzések

Hívja meg ezt a függvényt, hogy a megadott időpontban ütemezzen egy animációt. Először a bScheduleNow-val rendelkező Animálást HAMIS értékre kell hívnia.

CAnimationGroup::SetAutodestroyTransitions

A csoporthoz tartozó összes animációs objektumot automatikusan megsemmisíti.

void SetAutodestroyTransitions(BOOL bAutoDestroy = TRUE);

Paraméterek

bAutoDestroy
Az áttűnések megsemmisítésének módját határozza meg.

Megjegyzések

Ezt az értéket csak akkor állítsa HAMIS értékre, ha áttűnéseket foglal le a veremen. Az alapértelmezett érték IGAZ, ezért erősen ajánlott az áttűnési objektumokat új operátorral lefoglalni.

Lásd még

osztályok