Bagikan melalui


Kelas CAnimationBaseObject

Kelas dasar untuk semua objek animasi.

Sintaks

class CAnimationBaseObject : public CObject;

Anggota

Konstruktor Publik

Nama Deskripsi
CAnimationBaseObject::CAnimationBaseObject Kelebihan beban. Membuat objek animasi.
CAnimationBaseObject::~CAnimationBaseObject Destruktor. Dipanggil ketika objek animasi sedang dihancurkan.

Metode Publik

Nama Deskripsi
CAnimationBaseObject::ApplyTransitions Menambahkan transisi ke papan cerita dengan variabel animasi yang dienkapsulasi.
CAnimationBaseObject::ClearTransitions Menghapus semua transisi terkait.
CAnimationBaseObject::ContainsVariable Menentukan apakah objek animasi berisi variabel animasi tertentu.
CAnimationBaseObject::CreateTransitions Membuat transisi yang terkait dengan objek animasi.
CAnimationBaseObject::D etachFromController Mencopot objek animasi dari pengontrol animasi induk.
CAnimationBaseObject::EnableIntegerValueChangedEvent Menyiapkan penanganan aktivitas Nilai Bilangan Bulat yang Diubah.
CAnimationBaseObject::EnableValueChangedEvent Menyiapkan penanganan aktivitas Nilai yang Diubah.
CAnimationBaseObject::GetAutodestroyTransitions Memberi tahu apakah transisi terkait dihancurkan secara otomatis.
CAnimationBaseObject::GetGroupID Mengembalikan ID Grup saat ini.
CAnimationBaseObject::GetObjectID Mengembalikan ID Objek saat ini.
CAnimationBaseObject::GetUserData Mengembalikan data yang ditentukan pengguna.
CAnimationBaseObject::SetAutodestroyTransitions Mengatur bendera untuk menghancurkan transisi secara otomatis.
CAnimationBaseObject::SetID Mengatur ID baru.
CAnimationBaseObject::SetUserData Mengatur data yang ditentukan pengguna.

Metode yang Dilindungi

Nama Deskripsi
CAnimationBaseObject::GetAnimationVariableList Mengumpulkan pointer ke variabel animasi yang terkandung.
CAnimationBaseObject::SetParentAnimationObjects Menetapkan hubungan antara variabel animasi, yang terkandung dalam objek animasi, dan kontainernya.

Anggota Data yang Dilindungi

Nama Deskripsi
CAnimationBaseObject::m_bAutodestroyTransitions Menentukan apakah transisi terkait harus dihancurkan secara otomatis.
CAnimationBaseObject::m_dwUserData Menyimpan data yang ditentukan pengguna.
CAnimationBaseObject::m_nGroupID Menentukan ID Grup objek animasi.
CAnimationBaseObject::m_nObjectID Menentukan ID Objek objek animasi.
CAnimationBaseObject::m_pParentController Penunjuk ke pengontrol animasi induk.

Keterangan

Kelas ini menerapkan metode dasar untuk semua objek animasi. Objek animasi dapat mewakili nilai, titik, ukuran, persegi panjang, atau warna dalam aplikasi, serta entitas kustom apa pun. Objek animasi disimpan dalam grup animasi (lihat CAnimationGroup). Setiap grup dapat dianimasikan secara terpisah dan dapat diperlakukan sebagai analog papan cerita. Objek animasi merangkum satu atau beberapa variabel animasi (lihat CAnimationVariable), tergantung pada representasi logisnya. Misalnya, CAnimationRect berisi empat variabel animasi - satu variabel untuk setiap sisi persegi panjang. Setiap kelas objek animasi mengekspos metode AddTransition yang kelebihan beban, yang harus digunakan untuk menerapkan transisi ke variabel animasi yang dienkapsulasi. Objek animasi dapat diidentifikasi oleh ID Objek (opsional) dan menurut ID Grup. ID Grup diperlukan untuk menempatkan objek animasi ke grup yang benar, tetapi jika ID Grup tidak ditentukan, objek ditempatkan di grup default dengan ID 0. Jika Anda memanggil SetID dengan GroupID yang berbeda, objek animasi akan dipindahkan ke grup lain (grup baru dibuat jika perlu).

Hierarki Warisan

CObject

CAnimationBaseObject

Persyaratan

Header: afxanimationcontroller.h

CAnimationBaseObject::~CAnimationBaseObject

Destruktor. Dipanggil ketika objek animasi sedang dihancurkan.

virtual ~CAnimationBaseObject();

CAnimationBaseObject::ApplyTransitions

Menambahkan transisi ke papan cerita dengan variabel animasi yang dienkapsulasi.

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

Parameter

pStoryboard
Penunjuk ke papan cerita.

bDependOnKeyframes
Ketika FALSE, metode ini hanya menambahkan transisi yang tidak bergantung pada keyframe.

Tampilkan Nilai

TRUE jika transisi berhasil ditambahkan.

Keterangan

Menambahkan transisi terkait, yang telah ditambahkan dengan AddTransition (metode kelebihan beban di kelas turunan), ke papan cerita.

CAnimationBaseObject::CAnimationBaseObject

Membuat objek animasi.

CAnimationBaseObject();

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

Parameter

nGroupID
Menentukan ID Grup.

nObjectID
Menentukan ID Objek.

dwUserData
Data yang ditentukan pengguna, yang dapat dikaitkan dengan objek animasi dan diambil nanti pada waktu proses.

Keterangan

Membuat objek animasi dan menetapkan ID Objek default (0) dan ID Grup (0).

CAnimationBaseObject::ClearTransitions

Menghapus semua transisi terkait.

virtual void ClearTransitions(BOOL bAutodestroy);

Parameter

bAutodestroy
Menentukan apakah akan menghancurkan objek transisi secara otomatis, atau hanya menghapusnya dari daftar terkait.

Keterangan

Menghapus semua transisi terkait dan menghancurkannya jika bendera bAutodestroy atau m_bAutodestroyTransitions TRUE. Transisi harus dihancurkan secara otomatis hanya jika tidak dialokasikan pada tumpukan. Jika bendera di atas FALSE, transisi baru saja dihapus dari daftar internal transisi terkait.

CAnimationBaseObject::ContainsVariable

Menentukan apakah objek animasi berisi variabel animasi tertentu.

virtual BOOL ContainsVariable(IUIAnimationVariable* pVariable);

Parameter

pVariable
Penunjuk ke variabel animasi.

Tampilkan Nilai

TRUE jika variabel animasi terkandung dalam objek animasi; jika tidak FALSE.

Keterangan

Metode ini dapat digunakan untuk menentukan apakah variabel animasi yang ditentukan oleh pVariable terkandung dalam objek animasi. Objek animasi, tergantung pada jenisnya, mungkin berisi beberapa variabel animasi. Misalnya, CAnimationColor berisi tiga variabel, satu untuk setiap komponen warna (merah, hijau, dan biru). Ketika nilai variabel animasi telah berubah, WINDOWS Animation API mengirimkan peristiwa ValueChanged atau IntegerValueChanged (jika diaktifkan), dan parameter peristiwa ini adalah pointer untuk antarmuka IUIAnimationVariable dari variabel animasi. Metode ini membantu mendapatkan penunjuk ke animasi dari penunjuk ke objek COM yang terkandung.

CAnimationBaseObject::CreateTransitions

Membuat transisi yang terkait dengan objek animasi.

BOOL CreateTransitions();

Tampilkan Nilai

TRUE jika transisi berhasil dibuat; jika tidak FALSE.

Keterangan

Perulangan atas daftar variabel animasi yang dienkapsulasi dalam objek animasi turunan dan membuat transisi yang terkait dengan setiap variabel animasi.

CAnimationBaseObject::D etachFromController

Mencopot objek animasi dari pengontrol animasi induk.

void DetachFromController();

Keterangan

Metode ini digunakan secara internal.

CAnimationBaseObject::EnableIntegerValueChangedEvent

Menyiapkan penanganan aktivitas Nilai Bilangan Bulat yang Diubah.

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

Parameter

pController
Penunjuk ke pengontrol induk.

bEnable
Menentukan apakah akan mengaktifkan, atau menonaktifkan peristiwa Nilai Bilangan Bulat Diubah.

Keterangan

Jika penanganan aktivitas Nilai Bilangan Bulat Diubah diaktifkan, Anda dapat menangani peristiwa ini di metode CAnimationController::OnAnimationIntegerValueChanged, yang harus ditimpa di kelas turunan CAnimationController. Metode ini dipanggil setiap kali nilai bilangan bulat animasi telah berubah.

CAnimationBaseObject::EnableValueChangedEvent

Menyiapkan penanganan aktivitas Nilai yang Diubah.

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

Parameter

pController
Penunjuk ke pengontrol induk.

bEnable
Menentukan apakah akan mengaktifkan, atau menonaktifkan peristiwa Nilai Diubah.

Keterangan

Jika penanganan aktivitas Nilai diubah diaktifkan, Anda dapat menangani peristiwa ini di metode CAnimationController::OnAnimationValueChanged, yang harus ditimpa dalam kelas turunan CAnimationController. Metode ini dipanggil setiap kali nilai animasi telah berubah.

CAnimationBaseObject::GetAnimationVariableList

Mengumpulkan pointer ke variabel animasi yang terkandung.

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

Parameter

daftar
Daftar yang harus diisi dengan variabel animasi yang terkandung dalam objek animasi.

Keterangan

Metode virtual murni ini harus ditimpa dalam kelas turunan. Objek animasi, tergantung pada jenisnya, berisi satu atau beberapa variabel animasi. Misalnya, CAnimationPoint berisi dua variabel, untuk koordinat X dan Y masing-masing. Kelas dasar CAnimationBaseObject mengimplementasikan beberapa metode generik, yang bertindak pada daftar variabel animasi: ApplyTransitions, ClearTransitions, EnableValueChangedEvent, EnableIntegerValueChangedEvent. Metode ini memanggil GetAnimationVariableList, yang diisi dalam kelas turunan dengan variabel animasi aktual yang terkandung dalam objek animasi tertentu, lalu mengulang daftar dan melakukan tindakan yang diperlukan. Jika Anda membuat objek animasi kustom, Anda harus menambahkan untuk mencantumkan semua variabel animasi yang terkandung dalam objek tersebut.

CAnimationBaseObject::GetAutodestroyTransitions

Memberi tahu apakah transisi terkait dihancurkan secara otomatis.

BOOL GetAutodestroyTransitions() const;

Tampilkan Nilai

Jika TRUE, transisi terkait akan dihancurkan secara otomatis; jika FALSE, objek transisi harus dibatalkan alokasinya dengan memanggil aplikasi.

Keterangan

Secara default bendera ini adalah TRUE. Atur bendera ini hanya jika Anda mengalokasikan transisi pada tumpukan dan/atau transisi harus dibatalkan alokasinya oleh aplikasi panggilan.

CAnimationBaseObject::GetGroupID

Mengembalikan ID Grup saat ini.

UINT32 GetGroupID() const;

Tampilkan Nilai

ID Grup Saat Ini.

Keterangan

Gunakan metode ini untuk mengambil ID Grup. Ini adalah 0 jika ID Grup belum ditetapkan secara eksplisit di konstruktor atau dengan SetID.

CAnimationBaseObject::GetObjectID

Mengembalikan ID Objek saat ini.

UINT32 GetObjectID() const;

Tampilkan Nilai

ID Objek Saat Ini.

Keterangan

Gunakan metode ini untuk mengambil ID Objek. Ini adalah 0 jika ID Objek belum diatur secara eksplisit di konstruktor atau dengan SetID.

CAnimationBaseObject::GetUserData

Mengembalikan data yang ditentukan pengguna.

DWORD GetUserData() const;

Tampilkan Nilai

Nilai data kustom.

Keterangan

Panggil metode ini untuk mengambil data kustom saat runtime. Nilai yang dikembalikan adalah 0 jika tidak diinisialisasi secara eksplisit di konstruktor atau dengan SetUserData.

CAnimationBaseObject::m_bAutodestroyTransitions

Menentukan apakah transisi terkait harus dihancurkan secara otomatis.

BOOL m_bAutodestroyTransitions;

CAnimationBaseObject::m_dwUserData

Menyimpan data yang ditentukan pengguna.

DWORD m_dwUserData;

CAnimationBaseObject::m_nGroupID

Menentukan ID Grup objek animasi.

UINT32 m_nGroupID;

CAnimationBaseObject::m_nObjectID

Menentukan ID Objek objek animasi.

UINT32 m_nObjectID;

CAnimationBaseObject::m_pParentController

Penunjuk ke pengontrol animasi induk.

CAnimationController* m_pParentController;

CAnimationBaseObject::SetAutodestroyTransitions

Mengatur bendera untuk menghancurkan transisi secara otomatis.

void SetAutodestroyTransitions(BOOL bValue);

Parameter

bValue
Menentukan bendera penghancurkan otomatis.

Keterangan

Atur bendera ini hanya jika Anda mengalokasikan objek transisi menggunakan operator baru. Jika karena alasan tertentu objek transisi dialokasikan pada tumpukan, bendera penghancurkan otomatis harus FALSE. Secara default bendera ini adalah TRUE.

CAnimationBaseObject::SetID

Mengatur ID baru.

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

Parameter

nObjectID
Menentukan ID Objek baru.

nGroupID
Menentukan ID Grup baru.

Keterangan

Memungkinkan Anda mengubah ID Objek dan ID Grup. Jika ID Grup baru berbeda dari ID saat ini, objek animasi dipindahkan ke grup lain (grup baru akan dibuat, jika perlu).

CAnimationBaseObject::SetParentAnimationObjects

Menetapkan hubungan antara variabel animasi, yang terkandung dalam objek animasi, dan kontainernya.

virtual void SetParentAnimationObjects();

Keterangan

Pembantu ini dapat digunakan untuk membangun hubungan antara variabel animasi yang terkandung dalam objek animasi, dan kontainernya. Ini mengulangi variabel animasi dan mengatur penunjuk belakang ke objek animasi induk ke setiap variabel animasi. Dalam implementasi saat ini, hubungan aktual dibuat di CAnimationBaseObject::ApplyTransitions, oleh karena itu penunjuk belakang tidak diatur hingga Anda memanggil CAnimationGroup::Animate. Mengetahui hubungan mungkin berguna ketika Anda memproses peristiwa dan perlu mendapatkan objek animasi induk dari CAnimationVariable. Gunakan CAnimationVariable::GetParentAnimationObject.

CAnimationBaseObject::SetUserData

Mengatur data yang ditentukan pengguna.

void SetUserData (DWORD dwUserData);

Parameter

dwUserData
Menentukan data kustom.

Keterangan

Gunakan metode ini untuk mengaitkan data kustom dengan objek animasi. Data ini dapat diambil nanti pada runtime oleh GetUserData.

Lihat juga

Kelas