Bagikan melalui


Kelas CAnimationGroup

Mengimplementasikan grup animasi, yang menggabungkan papan cerita animasi, objek animasi, dan transisi untuk menentukan animasi.

Sintaks

class CAnimationGroup;

Anggota

Konstruktor Publik

Nama Deskripsi
CAnimationGroup::CAnimationGroup Membuat grup animasi.
CAnimationGroup::~CAnimationGroup Destruktor. Dipanggil ketika grup animasi sedang dihancurkan.

Metode Publik

Nama Deskripsi
CAnimationGroup::Animasikan Menganimasikan grup.
CAnimationGroup::ApplyTransitions Menerapkan transisi ke objek animasi.
CAnimationGroup::FindAnimationObject Menemukan objek animasi yang berisi variabel animasi yang ditentukan.
CAnimationGroup::GetGroupID Mengembalikan GroupID.
CAnimationGroup::RemoveKeyframes Menghapus dan secara opsional menghancurkan semua keyframe yang termasuk dalam grup animasi.
CAnimationGroup::RemoveTransitions Menghapus transisi dari objek animasi yang termasuk dalam grup animasi.
CAnimationGroup::Schedule Menjadwalkan animasi pada waktu yang ditentukan.
CAnimationGroup::SetAutodestroyTransitions Mengarahkan semua objek animasi yang termasuk dalam grup secara otomatis menghancurkan transisi.

Metode yang Dilindungi

Nama Deskripsi
CAnimationGroup::AddKeyframes Pembantu yang menambahkan keyframe ke papan cerita.
CAnimationGroup::AddTransitions Pembantu yang menambahkan transisi ke papan cerita.
CAnimationGroup::CreateTransitions Pembantu yang membuat objek transisi COM.

Anggota Data Publik

Nama Deskripsi
CAnimationGroup::m_bAutoclearTransitions Menentukan cara menghapus transisi dari objek animasi yang termasuk dalam grup. Jika anggota ini TRUE, transisi dihapus secara otomatis ketika animasi telah dijadwalkan. Jika tidak, Anda perlu menghapus transisi secara manual.
CAnimationGroup::m_bAutodestroyAnimationObjects Menentukan cara menghancurkan objek animasi. Jika parameter ini TRUE, objek animasi akan dihancurkan secara otomatis ketika grup dihancurkan. Jika tidak, objek animasi harus dihancurkan secara manual. Nilai defaultnya adalah FALSE. Atur nilai ini ke TRUE hanya jika semua objek animasi yang termasuk dalam grup dialokasikan secara dinamis dengan operator baru.
CAnimationGroup::m_bAutodestroyKeyframes Menentukan cara menghancurkan keyframe. Jika nilai ini TRUE, semua keyframe dihapus dan dihancurkan; jika tidak, mereka hanya dihapus dari daftar. Nilai defaultnya adalah TRUE.
CAnimationGroup::m_lstAnimationObjects Berisi daftar objek animasi.
CAnimationGroup::m_lstKeyFrames Berisi daftar keyframe.
CAnimationGroup::m_pStoryboard Menunjuk ke papan cerita animasi. Penunjuk ini hanya valid setelah panggilan pada Animasikan.

Anggota Data yang Dilindungi

Nama Deskripsi
CAnimationGroup::m_nGroupID Pengidentifikasi unik grup animasi.
CAnimationGroup::m_pParentController Penunjuk ke pengontrol animasi tempat grup ini berada.

Keterangan

Grup animasi dibuat secara otomatis oleh pengontrol animasi (CAnimationController) saat Anda menambahkan objek animasi menggunakan CAnimationController::AddAnimationObject. Grup animasi diidentifikasi oleh GroupID, yang biasanya diambil sebagai parameter untuk memanipulasi grup animasi. GroupID diambil dari objek animasi pertama yang ditambahkan ke grup animasi baru. Papan cerita animasi yang dienkapsulasi dibuat setelah Anda memanggil CAnimationController::AnimateGroup dan dapat diakses melalui anggota publik m_pStoryboard.

Hierarki Warisan

CAnimationGroup

Persyaratan

Header: afxanimationcontroller.h

CAnimationGroup::~CAnimationGroup

Destruktor. Dipanggil ketika grup animasi sedang dihancurkan.

~CAnimationGroup();

CAnimationGroup::AddKeyframes

Pembantu yang menambahkan keyframe ke papan cerita.

void AddKeyframes(IUIAnimationStoryboard* pStoryboard, BOOL bAddDeep);

Parameter

pStoryboard
Penunjuk ke objek COM papan cerita.

bAddDeep
Menentukan apakah metode ini harus ditambahkan ke keyframe papan cerita yang bergantung pada keyframe lain.

CAnimationGroup::AddTransitions

Pembantu yang menambahkan transisi ke papan cerita.

void AddTransitions(
    IUIAnimationStoryboard* pStoryboard,
    BOOL bDependOnKeyframes);

Parameter

pStoryboard
Penunjuk ke objek COM papan cerita.

bDependOnKeyframes

CAnimationGroup::Animasikan

Menganimasikan grup.

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

Parameter

pManager
pTimerbScheduleNow

Tampilkan Nilai

TRUE jika metode berhasil; jika tidak FALSE.

Keterangan

Metode ini membuat papan cerita internal, membuat dan menerapkan transisi dan menjadwalkan animasi jika bScheduleNow TRUE. Jika bScheduleNow FALSE, Anda perlu memanggil Jadwal untuk memulai animasi pada waktu yang ditentukan.

CAnimationGroup::ApplyTransitions

Menerapkan transisi ke objek animasi.

void ApplyTransitions();

Keterangan

Metode ini MENEGASKAN dalam mode debug jika papan cerita belum dibuat. Ini membuat semua transisi terlebih dahulu, lalu menambahkan keyframe "statis" (keyframe yang bergantung pada offset), menambahkan transisi yang tidak bergantung pada keyframe, menambahkan keyframe tergantung pada transisi dan keyframe lainnya, dan pada akhirnya menambahkan transisi yang bergantung pada keyframe.

CAnimationGroup::CAnimationGroup

Membuat grup animasi.

CAnimationGroup(CAnimationController* pParentController, UINT32 nGroupID);

Parameter

pParentController
Penunjuk ke pengontrol animasi yang membuat grup.

nGroupID
Menentukan GroupID.

CAnimationGroup::CreateTransitions

Pembantu yang membuat objek transisi COM.

BOOL CreateTransitions();

Tampilkan Nilai

TRUE adalah metode berhasil, jika tidak FALSE.

CAnimationGroup::FindAnimationObject

Menemukan objek animasi yang berisi variabel animasi yang ditentukan.

CAnimationBaseObject* FindAnimationObject(IUIAnimationVariable* pVariable);

Parameter

pVariable
Penunjuk ke variabel animasi.

Tampilkan Nilai

Penunjuk ke objek animasi, atau NULL jika objek animasi tidak ditemukan.

CAnimationGroup::GetGroupID

Mengembalikan GroupID.

UINT32 GetGroupID() const;

Tampilkan Nilai

Pengidentifikasi grup.

CAnimationGroup::m_bAutoclearTransitions

Menentukan cara menghapus transisi dari objek animasi yang termasuk dalam grup. Jika anggota ini TRUE, transisi dihapus secara otomatis ketika animasi telah dijadwalkan. Jika tidak, Anda perlu menghapus transisi secara manual.

BOOL m_bAutoclearTransitions;

CAnimationGroup::m_bAutodestroyAnimationObjects

Menentukan cara menghancurkan objek animasi. Jika parameter ini TRUE, objek animasi akan dihancurkan secara otomatis ketika grup dihancurkan. Jika tidak, objek animasi harus dihancurkan secara manual. Nilai defaultnya adalah FALSE. Atur nilai ini ke TRUE hanya jika semua objek animasi yang termasuk dalam grup dialokasikan secara dinamis dengan operator baru.

BOOL m_bAutodestroyAnimationObjects;

CAnimationGroup::m_bAutodestroyKeyframes

Menentukan cara menghancurkan keyframe. Jika nilai ini TRUE, semua keyframe dihapus dan dihancurkan; jika tidak, mereka hanya dihapus dari daftar. Nilai defaultnya adalah TRUE.

BOOL m_bAutodestroyKeyframes;

CAnimationGroup::m_lstAnimationObjects

Berisi daftar objek animasi.

CObList m_lstAnimationObjects;

CAnimationGroup::m_lstKeyFrames

Berisi daftar keyframe.

CObList m_lstKeyFrames;

CAnimationGroup::m_nGroupID

Pengidentifikasi unik grup animasi.

UINT32 m_nGroupID;

CAnimationGroup::m_pParentController

Penunjuk ke pengontrol animasi tempat grup ini berada.

CAnimationController* m_pParentController;

CAnimationGroup::m_pStoryboard

Menunjuk ke papan cerita animasi. Penunjuk ini hanya valid setelah panggilan pada Animasikan.

ATL::CComPtr<IUIAnimationStoryboard> m_pStoryboard;

CAnimationGroup::RemoveKeyframes

Menghapus dan secara opsional menghancurkan semua keyframe yang termasuk dalam grup animasi.

void RemoveKeyframes();

Keterangan

Jika anggota m_bAutodestroyKeyframes TRUE, maka keyframe dihapus dan dihancurkan, jika tidak, keyframe baru saja dihapus dari daftar internal keyframe.

CAnimationGroup::RemoveTransitions

Menghapus transisi dari objek animasi yang termasuk dalam grup animasi.

void RemoveTransitions();

Keterangan

Jika bendera m_bAutoclearTransitions diatur ke TRUE, metode ini akan mengulangi semua objek animasi yang termasuk dalam grup dan memanggil CAnimationObject::ClearTransitions(FALSE).

CAnimationGroup::Schedule

Menjadwalkan animasi pada waktu yang ditentukan.

BOOL Schedule(IUIAnimationTimer* pTimer, UI_ANIMATION_SECONDS time);

Parameter

pTimer
Penunjuk ke timer animasi.

time
Menentukan waktu untuk menjadwalkan animasi.

Tampilkan Nilai

TRUE jika metode berhasil; FALSE jika metode gagal atau jika Animate belum dipanggil dengan bScheduleNow diatur ke FALSE.

Keterangan

Panggil fungsi ini untuk menjadwalkan animasi pada waktu yang ditentukan. Anda harus memanggil Animate dengan bScheduleNow diatur ke FALSE terlebih dahulu.

CAnimationGroup::SetAutodestroyTransitions

Mengarahkan semua objek animasi yang termasuk dalam grup secara otomatis menghancurkan transisi.

void SetAutodestroyTransitions(BOOL bAutoDestroy = TRUE);

Parameter

bAutoDestroy
Menentukan cara menghancurkan transisi.

Keterangan

Atur nilai ini ke FALSE hanya jika Anda mengalokasikan transisi pada tumpukan. Nilai defaultnya adalah TRUE, oleh karena itu sangat disarankan untuk mengalokasikan objek transisi menggunakan operator baru.

Lihat juga

Kelas