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


CAnimationBaseObject 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.

Az összes animációs objektum alaposztálya.

Szemantika

class CAnimationBaseObject : public CObject;

Tagok

Nyilvános konstruktorok

Név Description
CAnimationBaseObject::CAnimationBaseObject Túlterhelt. Animációs objektumot hoz létre.
CAnimationBaseObject::~CAnimationBaseObject A destruktor. Egy animációs objektum elpusztításakor hívható meg.

Nyilvános metódusok

Név Description
CAnimationBaseObject::ApplyTransitions Áttűnéseket ad hozzá a storyboardhoz beágyazott animációs változóval.
CAnimationBaseObject::ClearTransitions Eltávolítja az összes kapcsolódó áttűnést.
CAnimationBaseObject::ContainsVariable Meghatározza, hogy egy animációs objektum tartalmaz-e egy adott animációs változót.
CAnimationBaseObject::CreateTransitions Animációs objektumhoz társított áttűnések létrehozása.
CAnimationBaseObject::D etachFromController Leválaszt egy animációs objektumot a szülőanimációs vezérlőről.
CAnimationBaseObject::EnableIntegerValueChangedEvent Egész szám értékének módosítása eseménykezelő beállítása.
CAnimationBaseObject::EnableValueChangedEvent Az Értékváltoztatás eseménykezelő beállítása.
CAnimationBaseObject::GetAutodestroyTransitions Azt jelzi, hogy a kapcsolódó áttűnések automatikusan megsemmisülnek-e.
CAnimationBaseObject::GetGroupID Az aktuális csoportazonosítót adja vissza.
CAnimationBaseObject::GetObjectID Az aktuális objektumazonosítót adja vissza.
CAnimationBaseObject::GetUserData Felhasználó által megadott adatokat ad vissza.
CAnimationBaseObject::SetAutodestroyTransitions Beállít egy jelzőt, amely automatikusan megsemmisíti az áttűnéseket.
CAnimationBaseObject::SetID Új azonosítókat állít be.
CAnimationBaseObject::SetUserData Felhasználó által definiált adatok beállítása.

Védett metódusok

Név Description
CAnimationBaseObject::GetAnimationVariableList A tartalmazott animációs változók mutatóit gyűjti össze.
CAnimationBaseObject::SetParentAnimationObjects Kapcsolatot hoz létre egy animációs objektumban található animációs változók és azok tárolója között.

Védett adattagok

Név Description
CAnimationBaseObject::m_bAutodestroyTransitions Megadja, hogy a kapcsolódó áttűnéseket automatikusan meg kell-e semmisíteni.
CAnimationBaseObject::m_dwUserData A felhasználó által megadott adatokat tárolja.
CAnimationBaseObject::m_nGroupID Megadja az animációs objektum csoportazonosítóját.
CAnimationBaseObject::m_nObjectID Az animációs objektum objektumazonosítóját adja meg.
CAnimationBaseObject::m_pParentController Mutató a szülőanimációs vezérlőre.

Megjegyzések

Ez az osztály alapvető metódusokat implementál az összes animációs objektumhoz. Az animációs objektumok egy alkalmazás értékét, pontját, méretét, téglalapját vagy színét, valamint bármilyen egyéni entitást jelölhetnek. Az animációs objektumok animációs csoportokban vannak tárolva (lásd: CAnimationGroup). Minden csoport külön-külön animálható, és a storyboard analógjaként kezelhető. Az animációs objektumok logikai ábrázolásuktól függően egy vagy több animációs változót foglalnak bele (lásd: CAnimationVariable). A CAnimationRect például négy animációs változót tartalmaz – egy változót a téglalapok mindkét oldalához. Minden animációs objektumosztály túlterhelt AddTransition metódust tesz elérhetővé, amelyet áttűnések alkalmazásához kell használni a beágyazott animációs változókra. Az animációs objektumokat az objektumazonosító (opcionálisan) és a csoportazonosító alapján lehet azonosítani. Csoportazonosítóra van szükség ahhoz, hogy egy animációs objektumot a megfelelő csoportba helyezzen, de ha nincs megadva csoportazonosító, a rendszer az alapértelmezett 0 azonosítójú csoportba helyezi az objektumot. Ha más GroupID azonosítóval hívja meg a SetID-et, a rendszer áthelyez egy animációs objektumot egy másik csoportba (szükség esetén új csoportot hoz létre).

Öröklési hierarchia

CObject

CAnimationBaseObject

Requirements

Fejléc: afxanimationcontroller.h

CAnimationBaseObject::~CAnimationBaseObject

A destruktor. Egy animációs objektum elpusztításakor hívható meg.

virtual ~CAnimationBaseObject();

CAnimationBaseObject::ApplyTransitions

Áttűnéseket ad hozzá a storyboardhoz beágyazott animációs változóval.

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

Paraméterek

pStoryboard
Mutató egy történethez.

bDependOnKeyframes
HA HAMIS, ez a metódus csak azokat az áttűnéseket adja hozzá, amelyek nem függnek a kulcskerettől.

Visszaadott érték

IGAZ, ha sikeresen hozzáadta az áttűnéseket.

Megjegyzések

Az AddTransition (származtatott osztályokban túlterhelt metódusok) használatával hozzáadott kapcsolódó áttűnéseket ad hozzá a storyboardhoz.

CAnimationBaseObject::CAnimationBaseObject

Animációs objektumot hoz létre.

CAnimationBaseObject();

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

Paraméterek

nGroupID
Megadja a csoportazonosítót.

nObjectID
Objektumazonosítót ad meg.

dwUserData
Felhasználó által definiált adatok, amelyek az animációs objektumhoz társíthatók, és később, futásidőben lekérhetők.

Megjegyzések

Animációs objektumokat hoz létre, és hozzárendeli az alapértelmezett objektumazonosítót (0) és a csoportazonosítót (0).

CAnimationBaseObject::ClearTransitions

Eltávolítja az összes kapcsolódó áttűnést.

virtual void ClearTransitions(BOOL bAutodestroy);

Paraméterek

bAutodestroy
Megadja, hogy az áttűnési objektumokat automatikusan megsemmisítse, vagy egyszerűen eltávolítsa őket a kapcsolódó listából.

Megjegyzések

Eltávolítja az összes kapcsolódó átmenetet, és megsemmisíti őket, ha a bAutodestroy vagy m_bAutodestroyTransitions jelző IGAZ. Az áttűnéseket csak akkor szabad automatikusan megsemmisíteni, ha nincsenek lefoglalva a veremen. Ha a fenti jelzők HAMISak, az áttűnéseket a rendszer eltávolítja a kapcsolódó áttűnések belső listájából.

CAnimationBaseObject::ContainsVariable

Meghatározza, hogy egy animációs objektum tartalmaz-e egy adott animációs változót.

virtual BOOL ContainsVariable(IUIAnimationVariable* pVariable);

Paraméterek

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

Visszaadott érték

IGAZ, ha az animációs változó az animációs objektumban található; egyéb esetben HAMIS.

Megjegyzések

Ez a módszer annak meghatározására használható, hogy a pVariable által megadott animációs változó egy animációs objektumban található-e. Egy animációs objektum típusától függően több animációs változót is tartalmazhat. A CAnimationColor például három változót tartalmaz, egyet minden színösszetevőhöz (piros, zöld és kék). Ha egy animációs változó értéke megváltozott, a Windows Animation API ValueChanged vagy IntegerValueChanged eseményeket küld (ha engedélyezve van), és az esemény paramétere az animációs változó IUIAnimationVariable felületére mutató mutató. Ez a módszer segít az egérmutatóról az animációra mutató mutató és a benne lévő COM-objektum között való lekérésében.

CAnimationBaseObject::CreateTransitions

Animációs objektumhoz társított áttűnések létrehozása.

BOOL CreateTransitions();

Visszaadott érték

IGAZ, ha az áttűnések sikeresen létrejöttek; egyéb esetben HAMIS.

Megjegyzések

Hurkok a származtatott animációs objektumba ágyazott animációs változók listájára, és átmeneteket hoz létre az egyes animációs változókhoz.

CAnimationBaseObject::D etachFromController

Leválaszt egy animációs objektumot a szülőanimációs vezérlőről.

void DetachFromController();

Megjegyzések

Ezt a metódust belsőleg használják.

CAnimationBaseObject::EnableIntegerValueChangedEvent

Egész szám értékének módosítása eseménykezelő beállítása.

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

Paraméterek

pController
Egy szülővezérlőre mutató mutató.

bEnable
Meghatározza, hogy engedélyezi vagy letiltja-e az egész számban módosított eseményt.

Megjegyzések

Ha engedélyezve van az Egész szám értékének módosítása eseménykezelő, akkor ezt az eseményt a CAnimationController::OnAnimationIntegerValueChanged metódusban kezelheti, amelyet felül kell bírálni egy CAnimationController-származtatott osztályban. Ezt a metódust minden alkalommal meghívjuk, amikor az animáció egészének értéke módosult.

CAnimationBaseObject::EnableValueChangedEvent

Az Értékváltoztatás eseménykezelő beállítása.

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

Paraméterek

pController
Egy szülővezérlőre mutató mutató.

bEnable
Megadja, hogy engedélyezi vagy letiltja-e az Értékváltoztatás eseményt.

Megjegyzések

Ha az Értékváltoztatott eseménykezelő engedélyezve van, ezt az eseményt a CAnimationController::OnAnimationValueChanged metódusban kezelheti, amelyet felül kell bírálni egy CAnimationController-származtatott osztályban. Ezt a metódust minden alkalommal meghívjuk, amikor az animáció értéke megváltozott.

CAnimationBaseObject::GetAnimationVariableList

A tartalmazott animációs változók mutatóit gyűjti össze.

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

Paraméterek

list
Egy animációs objektumban található animációs változókkal kitöltendő lista.

Megjegyzések

Ezt a tiszta virtuális metódust felül kell bírálni egy származtatott osztályban. Egy animációs objektum típusától függően egy vagy több animációs változót tartalmaz. A CAnimationPoint például két változót tartalmaz az X és az Y koordinátákhoz. A CAnimationBaseObject alaposztály implementál néhány általános metódust, amelyek az animációs változók listájában működnek: ApplyTransitions, ClearTransitions, EnableValueChangedEvent, EnableIntegerValueChangedEvent. Ezek a metódusok getAnimationVariableList-nek nevezik, amely egy származtatott osztályban van kitöltve egy adott animációs objektumban található tényleges animációs változókkal, majd hurkolja át a listát, és végrehajtja a szükséges műveleteket. Ha egyéni animációs objektumot hoz létre, hozzá kell adnia az objektumban található összes animációs változót .

CAnimationBaseObject::GetAutodestroyTransitions

Azt jelzi, hogy a kapcsolódó áttűnések automatikusan megsemmisülnek-e.

BOOL GetAutodestroyTransitions() const;

Visszaadott érték

Ha IGAZ, a kapcsolódó áttűnések automatikusan megsemmisülnek; ha HAMIS, az áttűnési objektumokat az alkalmazás meghívásával kell felszabadítani.

Megjegyzések

Alapértelmezés szerint ez a jelző IGAZ. Ezt a jelzőt csak akkor állítsa be, ha áttűnést rendelt a veremhez és/vagy az áttűnéseket a hívó alkalmazásnak el kell osztania.

CAnimationBaseObject::GetGroupID

Az aktuális csoportazonosítót adja vissza.

UINT32 GetGroupID() const;

Visszaadott érték

Jelenlegi csoportazonosító.

Megjegyzések

Ezzel a módszerrel lekérheti a csoportazonosítót. Ez 0, ha a csoportazonosító nincs explicit módon beállítva a konstruktorban vagy a SetID-ben.

CAnimationBaseObject::GetObjectID

Az aktuális objektumazonosítót adja vissza.

UINT32 GetObjectID() const;

Visszaadott érték

Aktuális objektumazonosító.

Megjegyzések

Ezzel a módszerrel lekérheti az objektumazonosítót. Ez 0, ha az objektumazonosító nincs explicit módon beállítva a konstruktorban vagy a SetID-ben.

CAnimationBaseObject::GetUserData

Felhasználó által megadott adatokat ad vissza.

DWORD GetUserData() const;

Visszaadott érték

Az egyéni adatok értéke.

Megjegyzések

Hívja meg ezt a metódust az egyéni adatok futásidőben való lekéréséhez. A visszaadott érték 0 lesz, ha nem inicializálták explicit módon a konstruktorban vagy a SetUserData-ban.

CAnimationBaseObject::m_bAutodestroyTransitions

Megadja, hogy a kapcsolódó áttűnéseket automatikusan meg kell-e semmisíteni.

BOOL m_bAutodestroyTransitions;

CAnimationBaseObject::m_dwUserData

A felhasználó által megadott adatokat tárolja.

DWORD m_dwUserData;

CAnimationBaseObject::m_nGroupID

Megadja az animációs objektum csoportazonosítóját.

UINT32 m_nGroupID;

CAnimationBaseObject::m_nObjectID

Az animációs objektum objektumazonosítóját adja meg.

UINT32 m_nObjectID;

CAnimationBaseObject::m_pParentController

Mutató a szülőanimációs vezérlőre.

CAnimationController* m_pParentController;

CAnimationBaseObject::SetAutodestroyTransitions

Beállít egy jelzőt, amely automatikusan megsemmisíti az áttűnéseket.

void SetAutodestroyTransitions(BOOL bValue);

Paraméterek

bValue
Megadja az automatikus megsemmisítés jelzőt.

Megjegyzések

Ezt a jelzőt csak akkor állítsa be, ha új operátorral foglalta le az áttűnési objektumokat. Ha valamilyen okból áttűnési objektumok vannak lefoglalva a veremen, az automatikus megsemmisítési jelzőnek HAMISnak kell lennie. Alapértelmezés szerint ez a jelző IGAZ.

CAnimationBaseObject::SetID

Új azonosítókat állít be.

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

Paraméterek

nObjectID
Új objektumazonosítót ad meg.

nGroupID
Új csoportazonosítót ad meg.

Megjegyzések

Lehetővé teszi az objektumazonosító és a csoportazonosító módosítását. Ha az új csoportazonosító eltér az aktuális azonosítótól, a rendszer áthelyez egy animációs objektumot egy másik csoportba (szükség esetén új csoport jön létre).

CAnimationBaseObject::SetParentAnimationObjects

Kapcsolatot hoz létre egy animációs objektumban található animációs változók és azok tárolója között.

virtual void SetParentAnimationObjects();

Megjegyzések

Ez a segéd használható egy animációs objektumban található animációs változók és azok tárolója közötti kapcsolat kialakításához. Az animációs változók fölé hurkol, és egy szülőanimációs objektumra mutató mutatót állít be az egyes animációs változókhoz. Az aktuális implementációban a tényleges kapcsolat a CAnimationBaseObject::ApplyTransitions fájlban jön létre, ezért a visszamutatók csak a CAnimationGroup::Animate meghívásáig vannak beállítva. A kapcsolat ismerete hasznos lehet az események feldolgozásakor, és be kell szereznie egy szülőanimációs objektumot a CAnimationVariable-ből. Használja a CAnimationVariable::GetParentAnimationObject parancsot.

CAnimationBaseObject::SetUserData

Felhasználó által definiált adatok beállítása.

void SetUserData (DWORD dwUserData);

Paraméterek

dwUserData
Megadja az egyéni adatokat.

Megjegyzések

Ezzel a módszerrel egyéni adatokat társíthat egy animációs objektumhoz. Ezeket az adatokat később, futásidőben lekérheti a GetUserData.

Lásd még

osztályok