Compartilhar via


InteractionTracker Classe

Definição

Manipula a lógica de entrada que pode ser usada como destinos em ExpressionAnimations, normalmente para conduzir o movimento de visuais com base na entrada.

public ref class InteractionTracker sealed : CompositionObject
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InteractionTracker final : CompositionObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTracker : CompositionObject
Public NotInheritable Class InteractionTracker
Inherits CompositionObject
Herança
Object Platform::Object IInspectable CompositionObject InteractionTracker
Atributos

Requisitos do Windows

Família de dispositivos
Windows 10 Anniversary Edition (introduzida na 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (introduzida na v3.0)

Exemplos

void SetupSimpleInteractionTracker(Visual viewportVisual, Visual contentVisual)
{
  //
  // Create the InteractionTracker and set its min/max position and scale.  These could 
  // also be bound to expressions.  Note: The scrollable area can be changed from either 
  // the min or the max position to facilitate content updates/virtualization.
  //

  _tracker = InteractionTracker.Create(_compositor);

  _tracker.MaxPosition = new Vector3(
    contentVisual.Size.X - viewportVisual.Size.X,
    contentVisual.Size.Y - viewportVisual.Size.Y,
    0.0f);

  _tracker.MinScale = 0.5f;
  _tracker.MaxScale = 4.0f;


  //
  // Configure the interaction source.  Enable input with inertia on all axes.
  //

  var interactionSource = VisualInteractionSource.Create(viewportVisual);

  interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;
  interactionSource.PositionYSourceMode = InteractionSourceMode.EnabledWithInertia;
  interactionSource.ScaleSourceMode = InteractionSourceMode.EnabledWithInertia;

  _tracker.InteractionSources.Add(interactionSource);


  //
  // Bind the InteractionTracker outputs to the contentVisual.
  //

  var positionExpression = _compositor.CreateExpressionAnimation("-tracker.Position");
  positionExpression.SetReferenceParameter("tracker", _tracker);

  contentVisual.StartAnimation("Offset", positionExpression);


  var scaleExpression = _compositor.CreateExpressionAnimation("Vector3(tracker.Scale, tracker.Scale, 1.0)");

  scaleExpression.SetReferenceParameter("tracker", _tracker);

  contentVisual.StartAnimation("Scale", scaleExpression);
}


Comentários

InteractionTracker é um computador de estado que pode ser controlado por entrada ativa ou por chamadas explícitas para atualizar ou animar suas propriedades. A classe InteractionTracker destina-se a habilitar a entrada para impulsionar CompositionAnimations para experiências de interação personalizadas. Para criar experiências interativas, é necessário associar um ou mais VisualInteractionSourcesao InteractionTracker.

Cenários comuns

O IneractionTracker destina-se a ser usado para:

  • Adicionando comportamento de passar o dedo personalizado, por exemplo, passando o dedo em itens ListView ou outros visuais para excluir/ignorar
  • Transições vinculadas ao movimento panorâmico, por exemplo, passar o dedo para fazer a transição entre estados "fechados" e "abertos"
  • Animação controlada por entrada de um efeito, por exemplo, movimento panorâmico faz com que a tela desfoque
  • Controles personalizados, por exemplo, criando uma implementação personalizada de um ScrollViewer com velocidades de movimento panorâmico diferentes ou a capacidade de ser controlado programaticamente

Estados e transições do InteractionTracker

O InteractionTracker é uma máquina de estado com quatro estados:

  • Ocioso: nenhuma entrada ativa ou animações que conduzem o InteractionTracker
  • Interação: a entrada do usuário ativo está impulsionando o InteractionTracker
  • Inércia: animações ativas que são resultado de entrada ativa ou velocidade programática estão impulsionando o InteractionTracker
  • CustomAnimation: uma propriedade do InteractionTracker está sendo animada diretamente O diagrama abaixo mostra esses quatro estados e quais transições de estado são válidas.
Estados do InteractionTracker: Ocioso, Inércia, Interação e Animação Personalizada

As transições de estado podem ocorrer devido a ações do usuário (como iniciar ou parar uma manipulação) ou devido a chamadas explícitas para métodos no InteractionTracker. Sempre que uma dessas chamadas explícitas é feita, uma requestID é emitida para controlar se a solicitação é ignorada ou causa uma alteração de estado.

Um importante a observar é que o InteractionTracker está em execução em um processo diferente do aplicativo que o está usando. Dessa forma, todas as chamadas de método no InteractionTracker e nas classes associadas são assíncronas, assim como os retornos de chamada emitidos por meio da interface IInteractionTrackerOwner.

O seguinte descreve o que dispara cada alteração de estado a acontecer:

Estado de InícioEstado finalPossíveis gatilhos
OciosoInteraçãoEssa transição de estado só acontece quando uma manipulação de usuário que se alinha com um VisualInteractionSource associado ao InteractionTracker está sendo executada.
OciosoInérciaEssa transição de estado só acontece quando o InteractionTracker está no estado Ocioso e TryUpdatePositionWithVelocity ou TryUpdateScaleWithVelocity é chamado.
OciosoCustomAnimationEssa transição de estado ocorre quando InteractionTracker está no estado Ocioso e TryUpdatePositionWithAnimation ou TryUpdateScaleWithAnimation é chamado.
InteraçãoInérciaEssa transição de estado só acontece quando uma manipulação de usuário que foi enviada para o InteractionTracker é concluída. Quando a entrada ativa terminar, o InteractionTracker entrará no estado inércia e informações como a velocidade de liberação do dedo e InertiaDecayRate determinarão o comportamento durante o estado inércia.
InérciaOciosoEssa transição de estado ocorre quando as funções que estão sendo usadas para atualizar a posição e/ou a escala não estão mais resultando em alterações. Em outras palavras, a velocidade de posição e escala chegaram a zero. Essa transição de estado também poderá ocorrer se uma chamada for feita para atualizar explicitamente a posição ou a escala sem animação ou velocidade. Essas chamadas terminarão a inércia e farão a transição para Idle com os valores de propriedade atualizados.
InérciaInérciaEssa transição de estado ocorre quando TryUpdatePositionWithVelocity ou TryUpdateScaleWithVelocity é chamado quando já está no estado Inércia. A nova inserção de Inércia fará com que todas as propriedades InertiaStateEntered sejam reavaliadas.
InérciaCustomAnimationEssa transição de estado ocorre quando uma chamada para TryUpdatePositionWithAnimation ou TryUpdateScaleWithAnimation é feita durante o sate Inércia.
InérciaInteraçãoEssa transição de estado ocorre quando a entrada ativa do usuário que faz testes de clique para o VisualInteractionSource é fornecida antes da conclusão da Inércia.
CustomAnimationOciosoEssa transição de estado ocorre quando todas as animações definidas nas propriedades de posição e escala do InteractionTracker foram concluídas.
CustomAnimationCustomAnimationEssa transição de estado ocorre quando uma chamada para TryUpdatePositionWithAnimation ou TryUpdateScaleWithAnimation é feita enquanto já está no estado CustomAnimation.
CustomAnimationInérciaEssa transição de estado ocorre quando uma chamada para TryUpdatePositionWithVelocity ou TryUpdateScaleWithVelocity é feita quando está no estado CustomAnimation.
CustomAnimationInteraçãoEssa transição de estado ocorre quando uma manipulação de usuário que faz testes de clique para um VisualInteractionSource associada ao InteractionTracker está sendo executada.

Qualquer transição de estado feita pelo InteractionTracker produzirá um retorno de chamada indicando o novo estado com args que incluem informações relevantes para esse estado, bem como a requestID para a solicitação que causou a alteração de estado. As manipulações ativas do usuário resultarão em uma requestID de 0. Qualquer chamada Try* emitirá uma requestID que pode ser usada para rastrear qual chamada Try* causou a alteração de estado. A primeira requestID durante o tempo de vida do aplicativo será 1 e cada chamada subsequente incrementará a requestID, o que significa que cada uma será exclusiva.

Posição e escala do InteractionTracker

As duas propriedades mais usadas do InteractionTracker são posição e escala. Sempre que houver uma alteração para uma ou ambas essas propriedades, o retorno de chamada ValuesChanged será enviado com informações sobre os valores atuais. Devido à natureza assíncrona do InteractionTracker, os valores recebidos por meio de retornos de chamada InteractionTracker são a melhor maneira de atualizar a lógica do aplicativo sobre o estado atual e os valores de InteractionTracker e suas propriedades.

Uma distinção importante sobre o InteractionTracker é que sua posição e escala não estão associadas ao espaço de coordenadas de qualquer visual específico. No momento em que o InteractionTracker for criado, sua posição terá os subcanais x, y e z do vetor definidos como 0 e a escala será definida como 1. Somente chamadas de entrada ativas ou Try* podem fazer com que esses valores sejam alterados. Os valores mínimo e máximo para cada propriedade ditarão o intervalo no qual os valores podem flutuar. A única exceção é o conceito de "overpan" ou "overzoom", em que uma manipulação ativa pode fazer com que os valores ultrapassem um pouco o mínimo ou o máximo durante o estado de Interação. No entanto, quando a manipulação for concluída, os valores sempre restarão dentro do intervalo definido. CustomAnimations sempre serão fixados dentro dos intervalos definidos para posição e escala.

O conceito de espaço de coordenadas InteractionTracker se alinha ao conceito de coordenadas de tela em que um movimento para cima/esquerda aumenta o valor da posição e um movimento para baixo/direita diminui o valor da posição. Como resultado, é muito comum negar a propriedade de posição ao anexá-la a um Deslocamento do Visual.

Por padrão, os canais de posição mínima e máxima são todos 0 e os valores de escala mínimo e máximo são 1. Se o comportamento desejado para qualquer propriedade for permitir que ela seja alterada fora desses valores iniciais, os valores mínimo/máximo precisarão ser atualizados.

InteractionTracker e ExpressionAnimations

InteractionTracker expõe uma variedade de propriedades que podem ser usadas no contexto de ExpressionAnimations para conduzir atualizações para propriedades animatáveis de CompositionObject s. Devido à natureza assíncrona do InteractionTracker, não é recomendável consultar essas propriedades diretamente. Em vez disso, você deve usar as propriedades entregues em retornos de chamada para conduzir a lógica do aplicativo e referenciar os valores em um ExpressionAnimation para atualizar propriedades animatáveis.

Conforme mencionado acima, as duas propriedades mais usadas do InteractionTracker são as propriedades Position e Scale. Essas são as propriedades que serão atualizadas em resposta à entrada do usuário e às chamadas Try*. Usar essas propriedades dentro de ExpressionAnimations fará com que as propriedades animacionáveis de CompositionObjects sejam atualizadas em resposta. Por exemplo, a propriedade InteractionTracker.position pode estar vinculada ao Deslocamento de um Visual. Também é comum usar essas propriedades para preencher um CompositionPropertySet que acompanha o progresso, o que, por sua vez, pode gerar uma série de animações coordenadas.

Direcionando a entrada para o InteractionTracker

Depois de ser configurado, InteractionTracker ainda requer uma última etapa para realmente receber entrada por toque e responder. Consulte a documentação no VisualInteractionSource. TryRedirectForManipulation para obter mais informações sobre como configurar a entrada de entrada para fluir para o InteractionTracker.

Histórico de versão

Versão do Windows Versão do SDK Valor adicionado
1703 15063 ConfigurarCenterPointXInertiaModifiers
1703 15063 ConfigurarCenterPointYInertiaModifiers
1.709 16299 ConfigureVector2PositionInertiaModifiers
1809 17763 IsInertiaFromImpulse
1809 17763 TryUpdatePosition(Vector3,InteractionTrackerClampingOption)
1809 17763 TryUpdatePositionBy(Vector3,InteractionTrackerClampingOption)
1903 18362 GetBindingMode
1903 18362 SetBindingMode
2004 19041 TryUpdatePosition(Vector3,InteractionTrackerClampingOption,InteractionTrackerPositionUpdateOption)

Propriedades

Comment

Uma cadeia de caracteres a ser associada ao CompositionObject.

(Herdado de CompositionObject)
Compositor

O Compositor usado para criar esse CompositionObject.

(Herdado de CompositionObject)
Dispatcher

O dispatcher para CompositionObject.

(Herdado de CompositionObject)
DispatcherQueue

Obtém o DispatcherQueue para o CompostionObject.

(Herdado de CompositionObject)
ImplicitAnimations

A coleção de animações implícitas anexadas a esse objeto.

(Herdado de CompositionObject)
InteractionSources

Uma coleção de objetos que geram interações.

IsInertiaFromImpulse

Obtém um valor que indica se a inércia é o resultado de um impulso.

IsPositionRoundingSuggested

Valor booliano que indica se o arredondamento de posição é sugerido no momento.

MaxPosition

A posição máxima permitida para o InteractionTracker.

MaxScale

A escala máxima para o InteractionTracker.

MinPosition

A posição mínima permitida para o InteractionTracker.

MinScale

A escala mínima para o InteractionTracker.

NaturalRestingPosition

Posição de descanso natural para o InteractionTracker.

A propriedade NaturalRestingPosition é a posição calculada em que InteractionTracker chegará a uma parada sem considerar limites ou modificadores de inércia. Essa propriedade geralmente é útil para ações como virtualização em uma experiência de rolagem, em que é importante saber o local em que InteractionTracker será interrompido. Há dois casos de uso main para usar a propriedade NaturalRestingPosition: recuperar seu valor atual nos argumentos de evento InertiaStateEntered ou referenciar essa propriedade em uma ExpressionAnimation ao criar coisas como modificadores de inércia.

NaturalRestingScale

Escala de descanso natural para o InteractionTracker.

A propriedade NaturalRestingScale é a posição de escala calculada em que InteractionTracker chegará a uma parada sem considerar limites ou modificadores de inércia. Essa propriedade geralmente é útil para ações como virtualização em uma experiência de rolagem, em que é importante saber o local em que InteractionTracker será interrompido. Há dois casos de uso main para usar a propriedade NaturalRestingScale: recuperar seu valor atual no evento InertiaStateEntered args ou referenciar essa propriedade em um ExpressionAnimation ao criar coisas como modificadores de inércia.

Owner

O IInteractionTrackerOwner associado ao InteractionTracker.

Position

A posição de saída calculada pelo InteractionTracker. A posição atual é um valor relativo. Durante os estados Idle e CustomAnimation, ele sempre estará entre os valores especificados nas propriedades MinPosition e MaxPosition. A propriedade de posição do InteractionTracker pode ficar fora desse intervalo durante os estados Interação e Inércia para mostrar um salto ou resistência no limite.

A propriedade position do InteractionTracker é um Vector3 que representa a posição no eixo X, Y e Z. Os canais X e Y são os únicos componentes que serão atualizados pelo InteractionTracker neste momento. Os canais desse Vector3 não flutuarão fora de 0 (o valor padrão) se MinPosition e MaxPosition não estiverem definidos.

PositionInertiaDecayRate

Taxa de decadência de inércia para posição. O intervalo é de 0 a 1.

A propriedade PositionInertiaDecayRate define a taxa na qual InteractionTracker diminuirá para uma parada quando tiver entrado em Inércia e a posição estiver mudando. Quanto mais próximo de 1, o InteractionTracker mais rápido diminuirá para uma parada e vice-versa. Definido como um Vector3, cada componente representa a taxa de decadência de inércia para x, y, z adequadamente.

PositionVelocityInPixelsPerSecond

A velocidade atualmente aplicada à posição.

A propriedade PositionVelocityInPixelsPerSecond representa a velocidade de posição atual de InteractionTracker enquanto está na Inércia. Há dois casos de uso main para essa propriedade: recuperando a velocidade de posição do InteractionTracker logo após a interação ter ocorrido ou referencie a velocidade mais atual de InteractionTracker em uma ExpressionAnimation.

Properties

A coleção de propriedades associadas ao CompositionObject.

(Herdado de CompositionObject)
Scale

A escala de saída calculada pelo InteractionTracker. A escala atual é um valor relativo que depende dos valores especificados nas propriedades MinScale e MaxScale .

A propriedade scale do InteractionTracker é um float que representa a escala no espaço de coordenadas do InteractionTracker . Esse valor começará em 1 e aumentará ou diminuirá com base na entrada ativa ou nas chamadas diretas para atualizar ou animar a propriedade. A propriedade scale quando o InteractionTracker estiver nos estados Idle ou CustomAnimation não será alterada de 1, a menos que as propriedades MinScale e MaxScale , que são padrão para 1, sejam atualizadas. InteractionTracker A escala pode ficar ligeiramente fora desse intervalo durante os estados Interação e Inércia, a fim de mostrar um salto ou resistência no limite.

ScaleInertiaDecayRate

Taxa de decadência de inércia, para escala. O intervalo é de 0 a 1.

A propriedade ScaleInertiaDecayRate define a taxa na qual InteractionTracker diminuirá para uma parada quando tiver entrado em Inércia e a escala estiver mudando. Quanto mais próximo de 1, o InteractionTracker mais rápido diminuirá para uma parada e vice-versa. Ao contrário do PositionInertiaDecayRate , que é definido como um Vector3, ScaleInertiaDecayRate é definido como um único float.

ScaleVelocityInPercentPerSecond

A taxa de alteração para escala.

A propriedade ScaleVelocityInPercentPerSecond representa a velocidade de escala atual do InteractionTracker enquanto está em Inércia. Agarrando a velocidade de posição do InteractionTracker logo após a interação ter ocorrido ou referencie a velocidade mais atual do InteractionTracker em um ExpressionAnimation.

Métodos

AdjustPositionXIfGreaterThanThreshold(Single, Single)

Ajusta a coordenada de posição x se ela for maior que o limite especificado.

AdjustPositionYIfGreaterThanThreshold(Single, Single)

Ajusta a coordenada de posição y se ela for maior que o limite especificado.

Close()

Fecha o CompositionObject e libera os recursos do sistema.

(Herdado de CompositionObject)
ConfigureCenterPointXInertiaModifiers(IIterable<CompositionConditionalValue>)

Usa uma lista ordenada de CompositionConditionalValue. Em um quadro, enquanto o rastreador está na Inércia, o primeiro CompositionConditionalValue a ter seu ". Condition" evaluate to true substitui o valor de zoom CenterPointX que o rastreador usa por seu ". Valor". Se nenhum for avaliado como true, o CenterPointX não será substituído por esse quadro.

ConfigureCenterPointYInertiaModifiers(IIterable<CompositionConditionalValue>)

Usa uma lista ordenada de CompositionConditionalValue. Em um quadro, enquanto o rastreador está na Inércia, o primeiro CompositionConditionalValue a ter seu ". Condition" evaluate to true substitui o valor de zoom CenterPointY que o rastreador usa por seu ". Valor". Se nenhum for avaliado como true, o CenterPointY não será substituído por esse quadro.

ConfigurePositionXInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Aplica uma coleção de objetos InteractionTrackerInertiaModifier à inércia x de um InteractionTracker.

O método ConfigurePositionXInertiaModifiers aplica um indivíduo ou uma coleção de InteractionTrackerInertiaModifierao componente x de InteractionTracker. O sistema avaliará cada uma das propriedades de condição do modificador X na ordem em que foram adicionados ao InteractionTracker. Assim, a ordem com a qual o InteractionTrackerInertiaModifier tem na coleção será a mesma ordem com a qual o sistema será avaliado.

ConfigurePositionYInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Aplica uma coleção de objetos InteractionTrackerInertiaModifier à inércia y de um InteractionTracker.

O método ConfigurePositionYInertiaModifiers aplica um indivíduo ou uma coleção de InteractionTrackerInertiaModifierao componente y do InteractionTracker. O sistema avaliará cada uma das propriedades de condição do modificador Y na ordem em que foram adicionados ao InteractionTracker. Assim, a ordem com a qual o InteractionTrackerInertiaModifier tem na coleção será a mesma ordem com a qual o sistema será avaliado.

ConfigureScaleInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Aplica uma coleção de objetos InteractionTrackerInertiaModifier à escala de um InteractionTracker.

O método ConfigureScaleInertiaModifiers aplica um indivíduo ou uma coleção de InteractionTrackerInertiaModifierao componente de escala do InteractionTracker. O sistema avaliará cada uma das propriedades de condição do modificador de escala na ordem em que foram adicionados ao InteractionTracker. Assim, a ordem com a qual o InteractionTrackerInertiaModifier tem na coleção será a mesma ordem com a qual o sistema será avaliado.

ConfigureVector2PositionInertiaModifiers(IIterable<InteractionTrackerVector2InertiaModifier>)

Aplica uma coleção de objetos InteractionTrackerInertiaModifier à posição de um InteractionTracker.

ConnectAnimation(String, CompositionAnimation)

Conecta e animação.

(Herdado de CompositionObject)
Create(Compositor)

Cria uma instância do InteractionTracker.

Esse método Create instanciará um InteractionTracker. Depois de criar o InteractionTracker definindo as propriedades, anexando um VisualInteractionSource e referenciando posição ou escala em um ExpressionAnimation, a entrada ativa pode conduzir a ExpressionAnimation.

CreateWithOwner(Compositor, IInteractionTrackerOwner)

Cria uma instância do InteractionTracker com o proprietário especificado.

Esse método Create criará uma instância de um InteractionTracker com um proprietário para registrar-se para retornos de chamada. Depois de criar o InteractionTracker definindo as propriedades, anexando um VisualInteractionSource e referenciando posição ou escala em um ExpressionAnimation, a entrada ativa pode conduzir a ExpressionAnimation. A criação do InteractionTracker com um proprietário só será necessária se o aplicativo precisar receber retornos de chamada em relação ao estado e aos valores do InteractionTracker.

DisconnectAnimation(String)

Desconecta uma animação.

(Herdado de CompositionObject)
Dispose()

Realiza tarefas definidas pelo aplicativo associadas à liberação ou à redefinição de recursos não gerenciados.

(Herdado de CompositionObject)
GetBindingMode(InteractionTracker, InteractionTracker)

Recupera o modo de eixo de associação entre dois rastreadores de interação.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Define uma propriedade que pode ser animada.

(Herdado de CompositionObject)
SetBindingMode(InteractionTracker, InteractionTracker, InteractionBindingAxisModes)

Define o modo de eixo de associação entre dois rastreadores de interação.

StartAnimation(String, CompositionAnimation)

Conecta uma animação com a propriedade especificada do objeto e inicia a animação.

(Herdado de CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Conecta uma animação com a propriedade especificada do objeto e inicia a animação.

(Herdado de CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Inicia um grupo de animação.

O método StartAnimationGroup em CompositionObject permite iniciar CompositionAnimationGroup. Todas as animações no grupo serão iniciadas ao mesmo tempo no objeto .

(Herdado de CompositionObject)
StopAnimation(String)

Desconecta uma animação da propriedade especificada e interrompe a animação.

(Herdado de CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Interrompe um grupo de animação.

(Herdado de CompositionObject)
TryGetAnimationController(String)

Retorna um AnimationController para a animação em execução na propriedade especificada.

(Herdado de CompositionObject)
TryUpdatePosition(Vector3)

Tenta atualizar a posição do InteractionTracker.

O método TryUpdatePosition atualiza o local do InteractionTracker para a posição Vector3 especificada como um parâmetro. TryUpdatePosition é usado para definir declarativamente a posição do InteractionTracker a qualquer momento (seja no início, de algum evento inserido pelo estado etc.). TryUpdatePosition pode ser chamado do estado Ocioso, CustomAnimation ou Inércia. Isso moverá a posição do InteractionTracker para a posição definida e entrará no estado ocioso.

TryUpdatePosition(Vector3, InteractionTrackerClampingOption)

Tenta atualizar a posição do InteractionTracker usando a opção de fixação especificada.

TryUpdatePosition(Vector3, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption)

Tenta atualizar a posição do InteractionTracker usando a opção de fixação especificada.

TryUpdatePositionBy(Vector3)

Tenta ajustar a posição do InteractionTracker pelo valor especificado.

O método TryUpdatePositionBy atualiza o local atual do InteractionTracker pelo delta vector3 especificado como um parâmetro. Da mesma forma que TryUpdatePosition, TryUpdatePositionBy é usado para mover declarativamente o InteractionTracker por um delta definido sem a necessidade de uma animação ou Inércia. TryUpdatePositionBy pode ser chamado do estado Ocioso, CustomAnimation ou Inércia. Isso moverá a posição do InteractionTracker pelo delta definido e entrará no estado ocioso.

TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption)

Tenta ajustar a posição do InteractionTracker pelo valor especificado usando a opção de fixação especificada.

TryUpdatePositionWithAdditionalVelocity(Vector3)

Tenta atualizar a posição do InteractionTracker adicionando velocidade.

O método TryUpdatePositionWithAdditionalVelocity adiciona o Vector3 de entrada que representa velocidade adicional à velocidade atual do InteractionTracker. Como resultado, como a velocidade do InteractionTracker agora foi alterada, a posição rest direcionada para InteractionTracker agora muda. TryUpdatePositionWithAdditionalVelocity pode ser chamado dos estados Idle, Inertia ou CustomAnimation . Isso adicionará ou atualizará a velocidade do InteractionTracker e entrará no estado inércia.

TryUpdatePositionWithAnimation(CompositionAnimation)

Tenta atualizar a posição do InteractionTracker aplicando uma animação.

O método TryUpdatePositionWithAnimation atualiza a posição de InteractionTracker com base na entrada CompositionAnimation como um parâmetro. Esse método é usado em situações em que o movimento do InteractionTracker precisa ser definido por uma animação específica, em vez da experiência tradicional de Inércia. TryUpdatePositionWithAnimation pode ser chamado do estado Ocioso ou Inércia – fazendo isso, a posição do InteractionTracker será controlada pela animação definida e entrará no estado CustomAnimation.

TryUpdateScale(Single, Vector3)

Tenta atualizar a escala para o valor especificado.

O método TryUpdateScale atualiza o local de escala do InteractionTracker para a posição de escala e o ponto central especificados como um parâmetro. TryUpdateScale é usado para definir declarativamente a escala do InteractionTracker a qualquer momento (seja no início, de algum evento inserido pelo estado etc.). TryUpdateScale pode ser chamado do estado Ocioso, CustomAnimation ou Inércia. Isso moverá a posição de escala do InteractionTracker para a posição definida e entrará no estado ocioso.

TryUpdateScaleWithAdditionalVelocity(Single, Vector3)

Tenta atualizar a escala adicionando a velocidade especificada.

O método TryUpdateScaleWithAdditionalVelocity adiciona o escalar inserido que representa velocidade adicional à velocidade atual do InteractionTracker , bem como desloca o ponto central para o Vector3 inserido. Como resultado, como a velocidade do InteractionTracker agora foi alterada, a posição de escala de repouso direcionada para InteractionTracker agora muda. TryUpdateScaleWithAdditionalVelocity pode ser chamado nos estados Idle, Inertia ou CustomAnimation – isso adicionará ou atualizará a velocidade do InteractionTracker e entrará no estado inércia.

TryUpdateScaleWithAnimation(CompositionAnimation, Vector3)

Tenta atualizar a escala com a animação especificada.

O método TryUpdateScaleWithAnimation atualiza a posição de escala do InteractionTracker com base no CompositionAnimation inserido como um parâmetro. Esse método é usado em situações em que o movimento do InteractionTracker precisa ser definido por uma animação específica, em vez da experiência tradicional de Inércia. TryUpdateScaleWithAnimation pode ser chamado do estado Ocioso ou Inércia – fazendo isso, a posição do InteractionTracker será controlada pela animação definida e entrará no estado CustomAnimation.

Aplica-se a

Confira também