Partilhar via


Classe CAnimationGroup

Observação

A biblioteca Microsoft Foundation Classes (MFC) continua a ser suportada. No entanto, já não estamos a adicionar funcionalidades nem a atualizar a documentação.

Implementa um grupo de animação, que combina um storyboard de animação, objetos de animação e transições para definir uma animação.

Sintaxe

class CAnimationGroup;

Membros

Construtores Públicos

Nome Description
CAnimationGroup::CAnimationGroup Constrói um grupo de animação.
CAnimationGroup::~CAnimationGroup O destruidor. Chamada quando um grupo de animação está a ser destruído.

Métodos Públicos

Nome Description
CAnimationGroup::Animate Anima um grupo.
CAnimationGroup::ApplyTransitions Aplica transições a objetos de animação.
CAnimationGroup::FindAnimationObject Encontra um objeto de animação que contém a variável de animação especificada.
CAnimationGroup::GetGroupID Devolve o GroupID.
CAnimationGroup::RemoveKeyframes Remove e, opcionalmente, destrói todos os keyframes que pertencem a um grupo de animação.
CAnimationGroup::RemoveTransitions Remove transições de objetos de animação que pertencem a um grupo de animação.
CAnimationGroup::Horário Agenda uma animação na hora especificada.
CAnimationGroup::SetAutodestroyTransitions Direciona automaticamente todas as transições de animação que pertencem ao grupo.

Métodos Protegidos

Nome Description
CAnimationGroup::AddKeyframes Um ajudante que adiciona keyframes a um storyboard.
CAnimationGroup::AddTransitions Um ajudante que adiciona transições a um storyboard.
CAnimationGroup::CreateTransitions Um ajudante que cria objetos de transição COM.

Membros de Dados Públicos

Nome Description
CAnimationGroup::m_bAutoclearTransitions Especifica como limpar transições de objetos de animação que pertencem ao grupo. Se este elemento for VERDADEIRO, as transições são removidas automaticamente quando uma animação é agendada. Caso contrário, tens de remover as transições manualmente.
CAnimationGroup::m_bAutodestroyAnimationObjects Especifica como destruir objetos de animação. Se este parâmetro for VERDADEIRO, os objetos de animação serão destruídos automaticamente quando o grupo for destruído. Caso contrário, os objetos de animação têm de ser destruídos manualmente. O valor padrão é FALSE. Defina este valor como TRUE apenas se todos os objetos de animação que pertencem ao grupo forem alocados dinamicamente com operador novo.
CAnimationGroup::m_bAutodestroyKeyframes Especifica como destruir keyframes. Se este valor for VERDADEIRO, todos os keyframes são removidos e destruídos; caso contrário, são removidos apenas da lista. O valor padrão é VERDADEIRO.
CAnimationGroup::m_lstAnimationObjects Contém uma lista de objetos de animação.
CAnimationGroup::m_lstKeyFrames Contém uma lista de keyframes.
CAnimationGroup::m_pStoryboard Pontos para o storyboard de animação. Este ponteiro só é válido após a chamada no Animate.

Membros de Dados Protegidos

Nome Description
CAnimationGroup::m_nGroupID Um identificador único de grupo de animação.
CAnimationGroup::m_pParentController Um apontador para o controlador de animação a que este grupo pertence.

Observações

Os grupos de animação são criados automaticamente pelo controlador de animação (CAnimationController) quando adiciona objetos de animação usando CAnimationController::AddAnimationObject. Um grupo de animação é identificado pelo GroupID, que normalmente é tomado como parâmetro para manipular grupos de animação. O GroupID é retirado do primeiro objeto de animação a ser adicionado a um novo grupo de animação. Um storyboard de animação encapsulada é criado depois de ligares para o CAnimationController::AnimateGroup e pode ser acedido através do m_pStoryboard membro público.

Hierarquia de herança

CAnimationGroup

Requerimentos

Cabeçalho: afxanimationcontroller.h

CAnimationGroup::~CAnimationGroup

O destruidor. Chamada quando um grupo de animação está a ser destruído.

~CAnimationGroup();

CAnimationGroup::AddKeyframes

Um ajudante que adiciona keyframes a um storyboard.

void AddKeyframes(IUIAnimationStoryboard* pStoryboard, BOOL bAddDeep);

Parâmetros

pStoryboard
Um apontador para um objeto COM de storyboard.

bAddDeep
Especifica se este método deve adicionar ao storyboard keyframes que dependem de outros keyframes.

CAnimationGroup::AddTransitions

Um ajudante que adiciona transições a um storyboard.

void AddTransitions(
    IUIAnimationStoryboard* pStoryboard,
    BOOL bDependOnKeyframes);

Parâmetros

pStoryboard
Um apontador para um objeto COM de storyboard.

bDependentOnKeyframes

CAnimationGroup::Animate

Anima um grupo.

BOOL Animate(
    IUIAnimationManager* pManager,
    IUIAnimationTimer* pTimer,
    BOOL bScheduleNow);

Parâmetros

pManager
pTimerbScheduleNow

Valor de retorno

TRUE se o método tiver sucesso; caso contrário, FALSO.

Observações

Este método cria um storyboard interno, cria e aplica transições e agenda uma animação se o bScheduleNow for VERDADEIRO. Se o bScheduleNow for FALSO, tens de chamar o Schedule para iniciar a animação à hora especificada.

CAnimationGroup::ApplyTransitions

Aplica transições a objetos de animação.

void ApplyTransitions();

Observações

Este método AFIRMA em modo de depuração se o storyboard não tiver sido criado. Cria todas as transições primeiro, depois adiciona keyframes "estáticos" (keyframes que dependem de deslocamentos), adiciona transições que não dependem de keyframes, adiciona keyframes dependendo de transições e outros keyframes, e finalmente adiciona transições que dependem de keyframes.

CAnimationGroup::CAnimationGroup

Constrói um grupo de animação.

CAnimationGroup(CAnimationController* pParentController, UINT32 nGroupID);

Parâmetros

pParentController
Um apontador para o controlador de animação que cria um grupo.

nGroupID
Especifica GroupID.

CAnimationGroup::CreateTransitions

Um ajudante que cria objetos de transição COM.

BOOL CreateTransitions();

Valor de retorno

VERDADEIRO é o método ter sucesso, caso contrário FALSO.

CAnimationGroup::FindAnimationObject

Encontra um objeto de animação que contém a variável de animação especificada.

CAnimationBaseObject* FindAnimationObject(IUIAnimationVariable* pVariable);

Parâmetros

pVariável
Um apontador para a variável de animação.

Valor de retorno

Um apontador para o objeto animation, ou NULL se o objeto animation não for encontrado.

CAnimationGroup::GetGroupID

Devolve o GroupID.

UINT32 GetGroupID() const;

Valor de retorno

Um identificador de grupo.

CAnimationGroup::m_bAutoclearTransitions

Especifica como limpar transições de objetos de animação que pertencem ao grupo. Se este elemento for VERDADEIRO, as transições são removidas automaticamente quando uma animação é agendada. Caso contrário, tens de remover as transições manualmente.

BOOL m_bAutoclearTransitions;

CAnimationGroup::m_bAutodestroyAnimationObjects

Especifica como destruir objetos de animação. Se este parâmetro for VERDADEIRO, os objetos de animação serão destruídos automaticamente quando o grupo for destruído. Caso contrário, os objetos de animação têm de ser destruídos manualmente. O valor padrão é FALSE. Defina este valor como TRUE apenas se todos os objetos de animação que pertencem ao grupo forem alocados dinamicamente com operador novo.

BOOL m_bAutodestroyAnimationObjects;

CAnimationGroup::m_bAutodestroyKeyframes

Especifica como destruir keyframes. Se este valor for VERDADEIRO, todos os keyframes são removidos e destruídos; caso contrário, são removidos apenas da lista. O valor padrão é VERDADEIRO.

BOOL m_bAutodestroyKeyframes;

CAnimationGroup::m_lstAnimationObjects

Contém uma lista de objetos de animação.

CObList m_lstAnimationObjects;

CAnimationGroup::m_lstKeyFrames

Contém uma lista de keyframes.

CObList m_lstKeyFrames;

CAnimationGroup::m_nGroupID

Um identificador único de grupo de animação.

UINT32 m_nGroupID;

CAnimationGroup::m_pParentController

Um apontador para o controlador de animação a que este grupo pertence.

CAnimationController* m_pParentController;

CAnimationGroup::m_pStoryboard

Pontos para o storyboard de animação. Este ponteiro só é válido após a chamada no Animate.

ATL::CComPtr<IUIAnimationStoryboard> m_pStoryboard;

CAnimationGroup::RemoveKeyframes

Remove e, opcionalmente, destrói todos os keyframes que pertencem a um grupo de animação.

void RemoveKeyframes();

Observações

Se m_bAutodestroyKeyframes membro for VERDADEIRO, então os keyframes são removidos e destruídos; caso contrário, os keyframes são simplesmente removidos da lista interna de keyframes.

CAnimationGroup::RemoveTransitions

Remove transições de objetos de animação que pertencem a um grupo de animação.

void RemoveTransitions();

Observações

Se m_bAutoclearTransitions flag for definido como TRUE, este método faz looping sobre todos os objetos de animação que pertencem ao grupo e chama CAnimationObject::ClearTransitions(FALSE).

CAnimationGroup::Horário

Agenda uma animação na hora especificada.

BOOL Schedule(IUIAnimationTimer* pTimer, UI_ANIMATION_SECONDS time);

Parâmetros

pTimer
Um apontador para o temporizador de animação.

time
Especifica o tempo para agendar a animação.

Valor de retorno

TRUE se o método tiver sucesso; FALSE se o método falhar ou se o Animate não tiver sido chamado com o bScheduleNow definido para FALSE.

Observações

Chame esta função para agendar uma animação na hora especificada. Deve chamar o Animate com o bScheduleNow definido para FALSE primeiro.

CAnimationGroup::SetAutodestroyTransitions

Direciona automaticamente todas as transições de animação que pertencem ao grupo.

void SetAutodestroyTransitions(BOOL bAutoDestroy = TRUE);

Parâmetros

bAutoDestroy
Especifica como destruir transições.

Observações

Defina este valor para FALSE apenas se alocar transições na pilha. O valor padrão é TRUE, por isso é altamente recomendado alocar objetos de transição usando o operador novo.

Consulte também

Classes