CAnimationGroup クラス
アニメーション ストーリーボード、アニメーション オブジェクト、および遷移を組み合わせてアニメーションを定義するアニメーション グループを実装します。
構文
class CAnimationGroup;
メンバー
パブリック コンストラクター
名前 | 説明 |
---|---|
CAnimationGroup::CAnimationGroup | アニメーション グループを構築します。 |
CAnimationGroup::~CAnimationGroup | デストラクター。 アニメーション グループが破棄されるときに呼び出されます。 |
パブリック メソッド
名前 | 説明 |
---|---|
CAnimationGroup::Animate | グループをアニメーション化します。 |
CAnimationGroup::ApplyTransitions | アニメーション オブジェクトに切り替えを適用します。 |
CAnimationGroup::FindAnimationObject | 指定したアニメーション変数を含むアニメーション オブジェクトを検索します。 |
CAnimationGroup::GetGroupID | GroupID を返します。 |
CAnimationGroup::RemoveKeyframes | アニメーション グループに属するすべてのキーフレームを削除し、必要に応じて破棄します。 |
CAnimationGroup::RemoveTransitions | アニメーション グループに属するアニメーション オブジェクトから切り替えを削除します。 |
CAnimationGroup::Schedule | 指定した時刻にアニメーションをスケジュールします。 |
CAnimationGroup::SetAutodestroyTransitions | グループに属するすべてのアニメーション オブジェクトを自動的に遷移を破棄するように指示します。 |
保護メソッド
名前 | 説明 |
---|---|
CAnimationGroup::AddKeyframes | ストーリーボードにキーフレームを追加するヘルパー。 |
CAnimationGroup::AddTransitions | ストーリーボードに遷移を追加するヘルパー。 |
CAnimationGroup::CreateTransitions | COM 遷移オブジェクトを作成するヘルパー。 |
パブリック データ メンバー
名前 | 説明 |
---|---|
CAnimationGroup::m_bAutoclearTransitions | グループに属するアニメーション オブジェクトからの切り替えをクリアする方法を指定します。 このメンバーが TRUE の場合、アニメーションがスケジュールされると、切り替えは自動的に削除されます。 それ以外の場合は、画面切り替えを手動で削除する必要があります。 |
CAnimationGroup::m_bAutodestroyAnimationObjects | アニメーション オブジェクトを破棄する方法を指定します。 このパラメーターが TRUE の場合、グループが破棄されるとアニメーション オブジェクトが自動的に破棄されます。 それ以外の場合、アニメーション オブジェクトは手動で破棄する必要があります。 既定値は FALSE です。 この値を TRUE に設定するのは、グループに属するすべてのアニメーション オブジェクトが演算子 new で動的に割り当てられる場合のみです。 |
CAnimationGroup::m_bAutodestroyKeyframes | キーフレームを破棄する方法を指定します。 この値が TRUE の場合、すべてのキーフレームが削除され、破棄されます。それ以外の場合は、リストからのみ削除されます。 既定値は TRUE です。 |
CAnimationGroup::m_lstAnimationObjects | アニメーション オブジェクトの一覧を格納します。 |
CAnimationGroup::m_lstKeyFrames | キーフレームの一覧が含まれています。 |
CAnimationGroup::m_pStoryboard | アニメーションストーリーボードをポイントします。 このポインターは、Animate の呼び出し後にのみ有効です。 |
プロテクト データ メンバー
名前 | 説明 |
---|---|
CAnimationGroup::m_nGroupID | アニメーション グループの一意識別子。 |
CAnimationGroup::m_pParentController | このグループが属するアニメーション コントローラーへのポインター。 |
解説
アニメーション グループは、CAnimationController::AddAnimationObject を使用してアニメーション オブジェクトを追加すると、アニメーション コントローラー (CAnimationController) によって自動的に作成されます。 アニメーション グループは GroupID によって識別されます。これは通常、アニメーション グループを操作するためのパラメーターとして使用されます。 GroupID は、新しいアニメーション グループに追加される最初のアニメーション オブジェクトから取得されます。 カプセル化されたアニメーション ストーリーボードは、CAnimationController::AnimateGroup を呼び出した後に作成され、パブリック メンバー m_pStoryboard経由でアクセスできます。
継承階層
CAnimationGroup
要件
ヘッダー: afxanimationcontroller.h
CAnimationGroup::~CAnimationGroup
デストラクター。 アニメーション グループが破棄されるときに呼び出されます。
~CAnimationGroup();
CAnimationGroup::AddKeyframes
ストーリーボードにキーフレームを追加するヘルパー。
void AddKeyframes(IUIAnimationStoryboard* pStoryboard, BOOL bAddDeep);
パラメーター
pStoryboard
ストーリーボード COM オブジェクトへのポインター。
bAddDeep
このメソッドを他のキーフレームに依存するストーリーボード キーフレームに追加するかどうかを指定します。
CAnimationGroup::AddTransitions
ストーリーボードに遷移を追加するヘルパー。
void AddTransitions(
IUIAnimationStoryboard* pStoryboard,
BOOL bDependOnKeyframes);
パラメーター
pStoryboard
ストーリーボード COM オブジェクトへのポインター。
bDependOnKeyframes
CAnimationGroup::Animate
グループをアニメーション化します。
BOOL Animate(
IUIAnimationManager* pManager,
IUIAnimationTimer* pTimer,
BOOL bScheduleNow);
パラメーター
pManager
pTimerbScheduleNow
戻り値
メソッドが成功した場合は TRUE、それ以外の場合は FALSE。
解説
このメソッドは、内部ストーリーボードを作成し、遷移を作成して適用し、bScheduleNow が TRUE の場合にアニメーションをスケジュールします。 bScheduleNow が FALSE の場合は、指定した時刻にアニメーションを開始するために Schedule を呼び出す必要があります。
CAnimationGroup::ApplyTransitions
アニメーション オブジェクトに切り替えを適用します。
void ApplyTransitions();
解説
ストーリーボードが作成されていない場合、このメソッドはデバッグ モードで ASSERTS します。 最初にすべての遷移が作成され、次に "静的" キーフレーム (オフセットに依存するキーフレーム) が追加され、キーフレームに依存しない遷移が追加され、遷移やその他のキーフレームに応じてキーフレームが追加され、最後にキーフレームに依存する遷移が追加されます。
CAnimationGroup::CAnimationGroup
アニメーション グループを構築します。
CAnimationGroup(CAnimationController* pParentController, UINT32 nGroupID);
パラメーター
pParentController
グループを作成するアニメーション コントローラーへのポインター。
nGroupID
GroupID を指定します。
CAnimationGroup::CreateTransitions
COM 遷移オブジェクトを作成するヘルパー。
BOOL CreateTransitions();
戻り値
TRUE はメソッドが成功し、それ以外の場合は FALSE です。
CAnimationGroup::FindAnimationObject
指定したアニメーション変数を含むアニメーション オブジェクトを検索します。
CAnimationBaseObject* FindAnimationObject(IUIAnimationVariable* pVariable);
パラメーター
pVariable
アニメーション変数へのポインター。
戻り値
アニメーション オブジェクトへのポインター。アニメーション オブジェクトが見つからない場合は NULL。
CAnimationGroup::GetGroupID
GroupID を返します。
UINT32 GetGroupID() const;
戻り値
グループ識別子。
CAnimationGroup::m_bAutoclearTransitions
グループに属するアニメーション オブジェクトからの切り替えをクリアする方法を指定します。 このメンバーが TRUE の場合、アニメーションがスケジュールされると、切り替えは自動的に削除されます。 それ以外の場合は、画面切り替えを手動で削除する必要があります。
BOOL m_bAutoclearTransitions;
CAnimationGroup::m_bAutodestroyAnimationObjects
アニメーション オブジェクトを破棄する方法を指定します。 このパラメーターが TRUE の場合、グループが破棄されるとアニメーション オブジェクトが自動的に破棄されます。 それ以外の場合、アニメーション オブジェクトは手動で破棄する必要があります。 既定値は FALSE です。 この値を TRUE に設定するのは、グループに属するすべてのアニメーション オブジェクトが演算子 new で動的に割り当てられる場合のみです。
BOOL m_bAutodestroyAnimationObjects;
CAnimationGroup::m_bAutodestroyKeyframes
キーフレームを破棄する方法を指定します。 この値が TRUE の場合、すべてのキーフレームが削除され、破棄されます。それ以外の場合は、リストからのみ削除されます。 既定値は TRUE です。
BOOL m_bAutodestroyKeyframes;
CAnimationGroup::m_lstAnimationObjects
アニメーション オブジェクトの一覧を格納します。
CObList m_lstAnimationObjects;
CAnimationGroup::m_lstKeyFrames
キーフレームの一覧が含まれています。
CObList m_lstKeyFrames;
CAnimationGroup::m_nGroupID
アニメーション グループの一意識別子。
UINT32 m_nGroupID;
CAnimationGroup::m_pParentController
このグループが属するアニメーション コントローラーへのポインター。
CAnimationController* m_pParentController;
CAnimationGroup::m_pStoryboard
アニメーションストーリーボードをポイントします。 このポインターは、Animate の呼び出し後にのみ有効です。
ATL::CComPtr<IUIAnimationStoryboard> m_pStoryboard;
CAnimationGroup::RemoveKeyframes
アニメーション グループに属するすべてのキーフレームを削除し、必要に応じて破棄します。
void RemoveKeyframes();
解説
メンバー m_bAutodestroyKeyframes TRUE の場合、キーフレームは削除されて破棄され、それ以外の場合はキーフレームの内部リストから削除されます。
CAnimationGroup::RemoveTransitions
アニメーション グループに属するアニメーション オブジェクトから切り替えを削除します。
void RemoveTransitions();
解説
m_bAutoclearTransitionsフラグが TRUE に設定されている場合、このメソッドはグループに属するすべてのアニメーション オブジェクトをループし、CAnimationObject::ClearTransitions(FALSE) を呼び出します。
CAnimationGroup::Schedule
指定した時刻にアニメーションをスケジュールします。
BOOL Schedule(IUIAnimationTimer* pTimer, UI_ANIMATION_SECONDS time);
パラメーター
pTimer
アニメーション タイマーへのポインター。
time
アニメーションをスケジュールする時間を指定します。
戻り値
メソッドが成功した場合は TRUE。メソッドが失敗した場合、または bScheduleNow を FALSE に設定して Animate が呼び出されていない場合は FALSE。
解説
指定した時刻にアニメーションをスケジュールするには、この関数を呼び出します。 最初に bScheduleNow を FALSE に設定して Animate を呼び出す必要があります。
CAnimationGroup::SetAutodestroyTransitions
グループに属するすべてのアニメーション オブジェクトを自動的に遷移を破棄するように指示します。
void SetAutodestroyTransitions(BOOL bAutoDestroy = TRUE);
パラメーター
bAutoDestroy
遷移を破棄する方法を指定します。
解説
スタックに遷移を割り当てる場合にのみ、この値を FALSE に設定します。 既定値は TRUE であるため、new 演算子を使用して遷移オブジェクトを割り当てることを強くお勧めします。