次の方法で共有


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 演算子を使用して遷移オブジェクトを割り当てることを強くお勧めします。

関連項目

クラス