Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Para criar uma animação, um aplicativo deve construir um storyboard.
Visão geral
As etapas gerais para construir um storyboard são as seguintes:
- Criar um storyboard
- Criar uma ou mais transições
- Adicione as transições ao storyboard, especificando quais variáveis elas animam
Um storyboard vazio pode ser criado usando o gerenciador de animação. O aplicativo deve preencher cada storyboard com transições. Cada transição especifica como uma única variável de animação muda em um determinado intervalo de tempo. As transições podem ser criadas usando o componente de biblioteca de transição incluído na Animação do Windows. Como alternativa, um aplicativo pode criar suas próprias transições personalizadas ou usar uma biblioteca de transição de terceiros. Quando o aplicativo adiciona uma transição a um storyboard, ele especifica qual variável de animação a transição animará.
Um storyboard pode incluir transições em uma ou mais variáveis de animação. Storyboards mais complexos podem usar quadros-chave para sincronizar o início ou o fim das transições ou para especificar partes do storyboard que devem ser repetidas (um número fixo de vezes ou indefinidamente).
Código de exemplo
O código de exemplo a seguir é retirado de MainWindow.cpp no exemplo de Animação do Windows Timer-Driven Animation; consulte o método CMainWindow::ChangeColor. Este exemplo cria o storyboard (etapa 1) usando o método IUIAnimationManager::CreateStoryboard, cria as transições (etapa 2) usando o método IUIAnimationTransitionLibrary::CreateAccelerateDecelerateTransition e adiciona as transições ao storyboard (etapa 3) usando o IUIAnimationStoryboard::AddTransition método.
const UI_ANIMATION_SECONDS DURATION = 0.5;
const DOUBLE ACCELERATION_RATIO = 0.5;
const DOUBLE DECELERATION_RATIO = 0.5;
// Create a storyboard
IUIAnimationStoryboard *pStoryboard = NULL;
HRESULT hr = m_pAnimationManager->CreateStoryboard(
&pStoryboard
);
if (SUCCEEDED(hr))
{
// Create transitions for the RGB animation variables
IUIAnimationTransition *pTransitionRed;
hr = m_pTransitionLibrary->CreateAccelerateDecelerateTransition(
DURATION,
red,
ACCELERATION_RATIO,
DECELERATION_RATIO,
&pTransitionRed
);
if (SUCCEEDED(hr))
{
IUIAnimationTransition *pTransitionGreen;
hr = m_pTransitionLibrary->CreateAccelerateDecelerateTransition(
DURATION,
green,
ACCELERATION_RATIO,
DECELERATION_RATIO,
&pTransitionGreen
);
if (SUCCEEDED(hr))
{
IUIAnimationTransition *pTransitionBlue;
hr = m_pTransitionLibrary->CreateAccelerateDecelerateTransition(
DURATION,
blue,
ACCELERATION_RATIO,
DECELERATION_RATIO,
&pTransitionBlue
);
if (SUCCEEDED(hr))
{
// Add transitions to the storyboard
hr = pStoryboard->AddTransition(
m_pAnimationVariableRed,
pTransitionRed
);
if (SUCCEEDED(hr))
{
hr = pStoryboard->AddTransition(
m_pAnimationVariableGreen,
pTransitionGreen
);
if (SUCCEEDED(hr))
{
hr = pStoryboard->AddTransition(
m_pAnimationVariableBlue,
pTransitionBlue
);
if (SUCCEEDED(hr))
{
// Get the current time and schedule the storyboard for play
...
}
Etapa anterior
Antes de iniciar esta etapa, você deve ter concluído esta etapa: Ler os Valores da Variável de Animação.
Próximo Passo
Depois de concluir esta etapa, a próxima etapa é: Agendar um Storyboard.
Tópicos relacionados