CAnimationBaseObject 클래스
모든 애니메이션 개체의 기본 클래스입니다.
구문
class CAnimationBaseObject : public CObject;
멤버
공용 생성자
속성 | 설명 |
---|---|
CAnimationBaseObject::CAnimationBaseObject | 오버로드됨. 애니메이션 개체를 생성합니다. |
CAnimationBaseObject::~CAnimationBaseObject | 소멸자입니다. 애니메이션 개체가 제거될 때 호출됩니다. |
공용 메서드
이름 | 설명 |
---|---|
CAnimationBaseObject::ApplyTransitions | 캡슐화된 애니메이션 변수를 사용하여 스토리보드에 전환을 추가합니다. |
CAnimationBaseObject::ClearTransitions | 관련된 모든 전환을 제거합니다. |
CAnimationBaseObject::ContainsVariable | 애니메이션 개체에 특정 애니메이션 변수가 포함되어 있는지 여부를 확인합니다. |
CAnimationBaseObject::CreateTransitions | 애니메이션 개체와 연결된 전환을 만듭니다. |
CAnimationBaseObject::D etachFromController | 부모 애니메이션 컨트롤러에서 애니메이션 개체를 분리합니다. |
CAnimationBaseObject::EnableIntegerValueChangedEvent | Integer Value Changed 이벤트 처리기를 설정합니다. |
CAnimationBaseObject::EnableValueChangedEvent | Value Changed 이벤트 처리기를 설정합니다. |
CAnimationBaseObject::GetAutodestroyTransitions | 관련 전환이 자동으로 제거되는지 여부를 알려줍니다. |
CAnimationBaseObject::GetGroupID | 현재 그룹 ID를 반환합니다. |
CAnimationBaseObject::GetObjectID | 현재 개체 ID를 반환합니다. |
CAnimationBaseObject::GetUserData | 사용자 정의 데이터를 반환합니다. |
CAnimationBaseObject::SetAutodestroyTransitions | 전환을 자동으로 삭제하는 플래그를 설정합니다. |
CAnimationBaseObject::SetID | 새 ID를 설정합니다. |
CAnimationBaseObject::SetUserData | 사용자 정의 데이터를 설정합니다. |
보호된 메서드
속성 | 설명 |
---|---|
CAnimationBaseObject::GetAnimationVariableList | 포함된 애니메이션 변수에 대한 포인터를 수집합니다. |
CAnimationBaseObject::SetParentAnimationObjects | 애니메이션 개체에 포함된 애니메이션 변수와 해당 컨테이너 간의 관계를 설정합니다. |
보호된 데이터 멤버
속성 | 설명 |
---|---|
CAnimationBaseObject::m_bAutodestroyTransitions | 관련 전환을 자동으로 제거할지 여부를 지정합니다. |
CAnimationBaseObject::m_dwUserData | 사용자 정의 데이터를 저장합니다. |
CAnimationBaseObject::m_nGroupID | 애니메이션 개체의 그룹 ID를 지정합니다. |
CAnimationBaseObject::m_nObjectID | 애니메이션 개체의 개체 ID를 지정합니다. |
CAnimationBaseObject::m_pParentController | 부모 애니메이션 컨트롤러에 대한 포인터입니다. |
설명
이 클래스는 모든 애니메이션 개체에 대한 기본 메서드를 구현합니다. 애니메이션 개체는 모든 사용자 지정 엔터티뿐만 아니라 애플리케이션의 값, 포인트, 크기, 사각형 또는 색을 나타낼 수 있습니다. 애니메이션 개체는 애니메이션 그룹에 저장됩니다(CAnimationGroup 참조). 각 그룹은 개별적으로 애니메이션을 적용할 수 있으며 스토리보드의 아날로그로 처리할 수 있습니다. 애니메이션 개체는 논리적 표현에 따라 하나 이상의 애니메이션 변수(CAnimationVariable 참조)를 캡슐화합니다. 예를 들어 CAnimationRect에는 사각형의 각 면에 대해 하나의 변수인 4개의 애니메이션 변수가 포함됩니다. 각 애니메이션 개체 클래스는 캡슐화된 애니메이션 변수에 전환을 적용하는 데 사용해야 하는 오버로드된 AddTransition 메서드를 노출합니다. 애니메이션 개체는 개체 ID(선택 사항) 및 그룹 ID로 식별할 수 있습니다. 애니메이션 개체를 올바른 그룹에 배치하려면 그룹 ID가 필요하지만 그룹 ID를 지정하지 않으면 ID가 0인 기본 그룹에 개체가 배치됩니다. 다른 GroupID를 사용하여 SetID를 호출하면 애니메이션 개체가 다른 그룹으로 이동됩니다(필요한 경우 새 그룹이 만들어짐).
상속 계층 구조
CAnimationBaseObject
요구 사항
헤더: afxanimationcontroller.h
CAnimationBaseObject::~CAnimationBaseObject
소멸자입니다. 애니메이션 개체가 제거될 때 호출됩니다.
virtual ~CAnimationBaseObject();
CAnimationBaseObject::ApplyTransitions
캡슐화된 애니메이션 변수를 사용하여 스토리보드에 전환을 추가합니다.
virtual BOOL ApplyTransitions(
IUIAnimationStoryboard* pStoryboard,
BOOL bDependOnKeyframes);
매개 변수
pStoryboard
스토리보드에 대한 포인터입니다.
bDependOnKeyframes
FALSE이면 이 메서드는 키 프레임에 의존하지 않는 전환만 추가합니다.
Return Value
전환이 성공적으로 추가된 경우 TRUE입니다.
설명
AddTransition을 사용하여 추가된 관련 전환(파생 클래스의 오버로드된 메서드)을 스토리보드에 추가합니다.
CAnimationBaseObject::CAnimationBaseObject
애니메이션 개체를 생성합니다.
CAnimationBaseObject();
CAnimationBaseObject(
UINT32 nGroupID,
UINT32 nObjectID = (UINT32)-1,
DWORD dwUserData = 0);
매개 변수
nGroupID
그룹 ID를 지정합니다.
nObjectID
개체 ID를 지정합니다.
dwUserData
애니메이션 개체와 연결하고 런타임에 나중에 검색할 수 있는 사용자 정의 데이터입니다.
설명
애니메이션 개체를 생성하고 기본 개체 ID(0) 및 그룹 ID(0)를 할당합니다.
CAnimationBaseObject::ClearTransitions
관련된 모든 전환을 제거합니다.
virtual void ClearTransitions(BOOL bAutodestroy);
매개 변수
bAutodestroy
전환 개체를 자동으로 삭제할지 아니면 관련 목록에서 제거할지 여부를 지정합니다.
설명
bAutodestroy 또는 m_bAutodestroyTransitions 플래그가 TRUE이면 모든 관련 전환을 제거하고 삭제합니다. 전환은 스택에 할당되지 않은 경우에만 자동으로 제거되어야 합니다. 위의 플래그가 FALSE이면 관련 전환의 내부 목록에서 전환이 제거됩니다.
CAnimationBaseObject::ContainsVariable
애니메이션 개체에 특정 애니메이션 변수가 포함되어 있는지 여부를 확인합니다.
virtual BOOL ContainsVariable(IUIAnimationVariable* pVariable);
매개 변수
pVariable
애니메이션 변수에 대한 포인터입니다.
Return Value
애니메이션 변수가 애니메이션 개체에 포함되어 있으면 TRUE이고, 그렇지 않으면 FALSE입니다.
설명
이 메서드를 사용하여 pVariable에 지정된 애니메이션 변수가 애니메이션 개체 내에 포함되어 있는지 여부를 확인할 수 있습니다. 애니메이션 개체의 형식에 따라 여러 애니메이션 변수가 포함될 수 있습니다. 예를 들어 CAnimationColor에는 각 색 구성 요소(빨강, 녹색 및 파랑)에 대해 하나씩 세 개의 변수가 포함됩니다. 애니메이션 변수 값이 변경되면 Windows 애니메이션 API는 ValueChanged 또는 IntegerValueChanged 이벤트(사용하도록 설정된 경우)를 보내고, 이 이벤트의 매개 변수는 애니메이션 변수의 IUIAnimationVariable 인터페이스에 대한 포인터입니다. 이 메서드는 포인터에서 포함된 COM 개체에 대한 애니메이션에 대한 포인터를 가져오는 데 도움이 됩니다.
CAnimationBaseObject::CreateTransitions
애니메이션 개체와 연결된 전환을 만듭니다.
BOOL CreateTransitions();
Return Value
전환이 성공적으로 만들어진 경우 TRUE입니다. 그렇지 않으면 FALSE입니다.
설명
파생 애니메이션 개체에 캡슐화된 애니메이션 변수 목록을 반복하고 각 애니메이션 변수와 연결된 전환을 만듭니다.
CAnimationBaseObject::D etachFromController
부모 애니메이션 컨트롤러에서 애니메이션 개체를 분리합니다.
void DetachFromController();
설명
이 메서드는 내부적으로 사용됩니다.
CAnimationBaseObject::EnableIntegerValueChangedEvent
Integer Value Changed 이벤트 처리기를 설정합니다.
virtual void EnableIntegerValueChangedEvent(
CAnimationController* pController,
BOOL bEnable);
매개 변수
pController
부모 컨트롤러에 대한 포인터입니다.
bEnable
Integer Value Changed 이벤트를 사용하거나 사용하지 않도록 설정할지 여부를 지정합니다.
설명
Integer Value Changed 이벤트 처리기를 사용하는 경우 CAnimationController::OnAnimationIntegerValueChanged 메서드에서 이 이벤트를 처리할 수 있습니다. 이 메서드는 CAnimationController 파생 클래스에서 재정의해야 합니다. 이 메서드는 애니메이션 정수 값이 변경될 때마다 호출됩니다.
CAnimationBaseObject::EnableValueChangedEvent
Value Changed 이벤트 처리기를 설정합니다.
virtual void EnableValueChangedEvent(
CAnimationController* pController,
BOOL bEnable);
매개 변수
pController
부모 컨트롤러에 대한 포인터입니다.
bEnable
Value Changed 이벤트를 사용하거나 사용하지 않도록 설정할지 여부를 지정합니다.
설명
Value Changed 이벤트 처리기를 사용하는 경우 CAnimationController::OnAnimationValueChanged 메서드에서 이 이벤트를 처리할 수 있습니다. 이 메서드는 CAnimationController 파생 클래스에서 재정의해야 합니다. 이 메서드는 애니메이션 값이 변경될 때마다 호출됩니다.
CAnimationBaseObject::GetAnimationVariableList
포함된 애니메이션 변수에 대한 포인터를 수집합니다.
virtual void GetAnimationVariableList(
CList<CAnimationVariable*,
CAnimationVariable*>& list) = 0;
매개 변수
목록
애니메이션 개체에 포함된 애니메이션 변수로 채워야 하는 목록입니다.
설명
이 순수 가상 메서드는 파생 클래스에서 재정의되어야 합니다. 애니메이션 개체는 형식에 따라 하나 이상의 애니메이션 변수를 포함합니다. 예를 들어 CAnimationPoint에는 각각 X 및 Y 좌표에 대한 두 개의 변수가 포함되어 있습니다. 기본 클래스 CAnimationBaseObject는 애니메이션 변수 목록(ApplyTransitions, ClearTransitions, EnableValueChangedEvent, EnableIntegerValueChangedEvent)에서 작동하는 몇 가지 제네릭 메서드를 구현합니다. 이러한 메서드는 특정 애니메이션 개체에 포함된 실제 애니메이션 변수를 사용하여 파생 클래스로 채워진 GetAnimationVariableList를 호출한 다음, 목록을 반복하고 필요한 작업을 수행합니다. 사용자 지정 애니메이션 개체를 만드는 경우 해당 개체에 포함된 모든 애니메이션 변수를 나열하도록 추가해야 합니다.
CAnimationBaseObject::GetAutodestroyTransitions
관련 전환이 자동으로 제거되는지 여부를 알려줍니다.
BOOL GetAutodestroyTransitions() const;
Return Value
TRUE이면 관련 전환이 자동으로 제거됩니다. FALSE이면 애플리케이션을 호출하여 전환 개체의 할당을 취소해야 합니다.
설명
기본적으로 이 플래그는 TRUE입니다. 호출 애플리케이션에서 스택 및/또는 전환에 전환을 할당한 경우에만 이 플래그를 설정합니다.
CAnimationBaseObject::GetGroupID
현재 그룹 ID를 반환합니다.
UINT32 GetGroupID() const;
Return Value
현재 그룹 ID입니다.
설명
이 메서드를 사용하여 그룹 ID를 검색합니다. 생성자 또는 SetID를 사용하여 그룹 ID가 명시적으로 설정되지 않은 경우 0입니다.
CAnimationBaseObject::GetObjectID
현재 개체 ID를 반환합니다.
UINT32 GetObjectID() const;
Return Value
현재 개체 ID입니다.
설명
개체 ID를 검색하려면 이 메서드를 사용합니다. 생성자 또는 SetID를 사용하여 개체 ID가 명시적으로 설정되지 않은 경우 0입니다.
CAnimationBaseObject::GetUserData
사용자 정의 데이터를 반환합니다.
DWORD GetUserData() const;
Return Value
사용자 지정 데이터의 값입니다.
설명
런타임에 사용자 지정 데이터를 검색하려면 이 메서드를 호출합니다. 반환된 값은 생성자 또는 SetUserData에서 명시적으로 초기화되지 않은 경우 0이 됩니다.
CAnimationBaseObject::m_bAutodestroyTransitions
관련 전환을 자동으로 제거할지 여부를 지정합니다.
BOOL m_bAutodestroyTransitions;
CAnimationBaseObject::m_dwUserData
사용자 정의 데이터를 저장합니다.
DWORD m_dwUserData;
CAnimationBaseObject::m_nGroupID
애니메이션 개체의 그룹 ID를 지정합니다.
UINT32 m_nGroupID;
CAnimationBaseObject::m_nObjectID
애니메이션 개체의 개체 ID를 지정합니다.
UINT32 m_nObjectID;
CAnimationBaseObject::m_pParentController
부모 애니메이션 컨트롤러에 대한 포인터입니다.
CAnimationController* m_pParentController;
CAnimationBaseObject::SetAutodestroyTransitions
전환을 자동으로 삭제하는 플래그를 설정합니다.
void SetAutodestroyTransitions(BOOL bValue);
매개 변수
bValue
자동 삭제 플래그를 지정합니다.
설명
새 연산자 사용을 사용하여 전환 개체를 할당한 경우에만 이 플래그를 설정합니다. 어떤 이유로 인해 전환 개체가 스택에 할당되면 자동 삭제 플래그는 FALSE여야 합니다. 기본적으로 이 플래그는 TRUE입니다.
CAnimationBaseObject::SetID
새 ID를 설정합니다.
void SetID(
UINT32 nObjectID,
UINT32 nGroupID = 0);
매개 변수
nObjectID
새 개체 ID를 지정합니다.
nGroupID
새 그룹 ID를 지정합니다.
설명
개체 ID 및 그룹 ID를 변경할 수 있습니다. 새 그룹 ID가 현재 ID와 다른 경우 애니메이션 개체가 다른 그룹으로 이동됩니다(필요한 경우 새 그룹이 생성됨).
CAnimationBaseObject::SetParentAnimationObjects
애니메이션 개체에 포함된 애니메이션 변수와 해당 컨테이너 간의 관계를 설정합니다.
virtual void SetParentAnimationObjects();
설명
이 도우미를 사용하여 애니메이션 개체에 포함된 애니메이션 변수와 해당 컨테이너 간의 관계를 설정할 수 있습니다. 애니메이션 변수를 반복하고 부모 애니메이션 개체에 대한 뒤로 포인터를 각 애니메이션 변수로 설정합니다. 현재 구현에서 실제 관계는 CAnimationBaseObject::ApplyTransitions에 설정되므로 CAnimationGroup::Animate를 호출할 때까지 뒤로 포인터가 설정되지 않습니다. 관계를 아는 것은 이벤트를 처리할 때 유용할 수 있으며 CAnimationVariable에서 부모 애니메이션 개체를 가져와야 합니다. CAnimationVariable::GetParentAnimationObject를 사용합니다.
CAnimationBaseObject::SetUserData
사용자 정의 데이터를 설정합니다.
void SetUserData (DWORD dwUserData);
매개 변수
dwUserData
사용자 지정 데이터를 지정합니다.
설명
이 메서드를 사용하여 사용자 지정 데이터를 애니메이션 개체와 연결합니다. 이 데이터는 GetUserData에서 런타임에 나중에 검색할 수 있습니다.