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입니다. 그룹에 속한 모든 애니메이션 개체가 연산자 new와 함께 동적으로 할당된 경우에만 이 값을 TRUE로 설정합니다. |
CAnimationGroup::m_bAutodestroyKeyframes | 키 프레임을 삭제하는 방법을 지정합니다. 이 값이 TRUE이면 모든 키 프레임이 제거되고 제거됩니다. 그렇지 않으면 목록에서만 제거됩니다. 기본값은 TRUE입니다. |
CAnimationGroup::m_lstAnimationObjects | 애니메이션 개체 목록을 포함합니다. |
CAnimationGroup::m_lstKeyFrames | 키 프레임 목록을 포함합니다. |
CAnimationGroup::m_pStoryboard | 애니메이션 스토리보드를 가리킵니다. 이 포인터는 애니메이션 효과를 호출한 후에만 유효합니다. |
보호된 데이터 멤버
속성 | 설명 |
---|---|
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
Return Value
메서드가 성공하면 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
이 메서드는 내부 스토리보드를 만들고, 전환을 만들고 적용하며, bScheduleNow가 TRUE인 경우 애니메이션을 예약합니다. bScheduleNow가 FALSE이면 일정을 호출하여 지정된 시간에 애니메이션을 시작해야 합니다.
CAnimationGroup::ApplyTransitions
애니메이션 개체에 전환을 적용합니다.
void ApplyTransitions();
설명
스토리보드가 만들어지지 않은 경우 이 메서드는 디버그 모드에서 ASSERTS를 사용합니다. 먼저 모든 전환을 만든 다음, "정적" 키 프레임(오프셋에 의존하는 키 프레임)을 추가하고, 키 프레임에 의존하지 않는 전환을 추가하고, 전환 및 기타 키 프레임에 따라 키 프레임을 추가하고, 마지막으로 키 프레임에 의존하는 전환을 추가합니다.
CAnimationGroup::CAnimationGroup
애니메이션 그룹을 생성합니다.
CAnimationGroup(CAnimationController* pParentController, UINT32 nGroupID);
매개 변수
pParentController
그룹을 만드는 애니메이션 컨트롤러에 대한 포인터입니다.
nGroupID
GroupID를 지정합니다.
CAnimationGroup::CreateTransitions
COM 전환 개체를 만드는 도우미입니다.
BOOL CreateTransitions();
Return Value
TRUE이면 메서드가 성공하고 그렇지 않으면 FALSE입니다.
CAnimationGroup::FindAnimationObject
지정된 애니메이션 변수를 포함하는 애니메이션 개체를 찾습니다.
CAnimationBaseObject* FindAnimationObject(IUIAnimationVariable* pVariable);
매개 변수
pVariable
애니메이션 변수에 대한 포인터입니다.
Return Value
애니메이션 개체에 대한 포인터이거나, 애니메이션 개체를 찾을 수 없는 경우 NULL입니다.
CAnimationGroup::GetGroupID
GroupID를 반환합니다.
UINT32 GetGroupID() const;
Return Value
그룹 식별자입니다.
CAnimationGroup::m_bAutoclearTransitions
그룹에 속한 애니메이션 개체에서 전환을 지우는 방법을 지정합니다. 이 멤버가 TRUE이면 애니메이션이 예약되면 전환이 자동으로 제거됩니다. 그렇지 않으면 전환을 수동으로 제거해야 합니다.
BOOL m_bAutoclearTransitions;
CAnimationGroup::m_bAutodestroyAnimationObjects
애니메이션 개체를 삭제하는 방법을 지정합니다. 이 매개 변수가 TRUE이면 그룹이 제거되면 애니메이션 개체가 자동으로 제거됩니다. 그렇지 않으면 애니메이션 개체를 수동으로 제거해야 합니다. 기본값은 FALSE입니다. 그룹에 속한 모든 애니메이션 개체가 연산자 new와 함께 동적으로 할당된 경우에만 이 값을 TRUE로 설정합니다.
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
애니메이션 스토리보드를 가리킵니다. 이 포인터는 애니메이션 효과를 호출한 후에만 유효합니다.
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
애니메이션을 예약하는 시간을 지정합니다.
Return Value
메서드가 성공하면 TRUE입니다. 메서드가 실패하거나 bScheduleNow를 FALSE로 설정하여 Animate가 호출되지 않은 경우 FALSE입니다.
설명
지정된 시간에 애니메이션을 예약하려면 이 함수를 호출합니다. 먼저 bScheduleNow를 FALSE로 설정하여 Animate를 호출해야 합니다.
CAnimationGroup::SetAutodestroyTransitions
그룹에 속한 모든 애니메이션 개체가 자동으로 전환을 삭제하도록 지시합니다.
void SetAutodestroyTransitions(BOOL bAutoDestroy = TRUE);
매개 변수
bAutoDestroy
전환을 삭제하는 방법을 지정합니다.
설명
스택에 전환을 할당하는 경우에만 이 값을 FALSE로 설정합니다. 기본값은 TRUE이므로 새 연산자를 사용하여 전환 개체를 할당하는 것이 좋습니다.