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(Microsoft.Foundation.LiftedContract, 65536)]
/// [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.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
class InteractionTracker final : CompositionObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTracker : CompositionObject
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public sealed class InteractionTracker : CompositionObject
Public NotInheritable Class InteractionTracker
Inherits CompositionObject
Herança
Object Platform::Object IInspectable CompositionObject InteractionTracker
Atributos

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 conduzir 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 personalizado de passar o dedo, por exemplo, deslizar itens listView ou outros visuais para excluir/descartar
  • Transições vinculadas ao movimento panorâmico, por exemplo, passando o dedo para a transição entre estados "fechados" e "abertos"
  • A animação controlada por entrada de um efeito, por exemplo, o 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 é um computador 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.

Imagem mostrando os estados 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 interromper uma manipulação) ou devido a chamadas explícitas a métodos no InteractionTracker. Sempre que uma dessas chamadas explícitas é feita, uma requestID é emitida para acompanhar 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ício Estado final Possíveis gatilhos
Inativo Interação Essa 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.
Inativo Inércia Essa transição de estado só acontece quando o InteractionTracker está no estado ocioso e TryUpdatePositionWithVelocity ou TryUpdateScaleWithVelocity é chamado.
Inativo AnimaçãoPersonalizada Essa transição de estado ocorre quando InteractionTracker está no estado ocioso e TryUpdatePositionWithAnimation ou TryUpdateScaleWithAnimation é chamado.
Interação Inércia Essa 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 de Inércia e informações como a velocidade de liberação do dedo e InertiaDecayRate determinarão o comportamento durante o estado de Inércia.
Inércia Inativo Essa 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 posição e a velocidade de escala chegaram a zero. Essa transição de estado também pode acontecer se uma chamada for feita para atualizar explicitamente a posição ou a escala sem animação ou velocidade. Essas chamadas encerrarão a inércia e farão a transição para ocioso com os valores de propriedade atualizados.
Inércia Inércia Essa transição de estado ocorre quando TryUpdatePositionWithVelocity ou TryUpdateScaleWithVelocity é chamado quando já está no estado de Inércia. A nova inserção de Inércia fará com que todas as propriedades InertiaStateEntered sejam reavaliadas.
Inércia AnimaçãoPersonalizada Essa transição de estado ocorre quando uma chamada para TryUpdatePositionWithAnimation ou TryUpdateScaleWithAnimation é feita durante o sate inércia.
Inércia Interação Essa transição de estado ocorre quando a entrada ativa do usuário que faz hit-tests para o VisualInteractionSource é fornecida antes da conclusão da Inércia.
AnimaçãoPersonalizada Inativo Essa transição de estado ocorre quando todas as animações definidas nas propriedades de posição e escala do InteractionTracker foram concluídas.
AnimaçãoPersonalizada AnimaçãoPersonalizada Essa transição de estado ocorre quando uma chamada para TryUpdatePositionWithAnimation ou TryUpdateScaleWithAnimation é feita enquanto já está no estado CustomAnimation.
AnimaçãoPersonalizada Inércia Essa transição de estado ocorre quando uma chamada para TryUpdatePositionWithVelocity ou TryUpdateScaleWithVelocity é feita quando no estado CustomAnimation.
AnimaçãoPersonalizada Interação Essa transição de estado ocorre quando uma manipulação de usuário que faz testes de ocorrência para um VisualInteractionSource associado 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 do 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 ativa ou Try* podem fazer com que esses valores sejam alterados. Os valores mínimos e máximos 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 de conjuntos. CustomAnimations sempre será fixado dentro dos intervalos definidos para posição e escala.

O conceito de espaço de coordenadas InteractionTracker alinha-se ao conceito de coordenadas de tela em que um movimento para cima/esquerda aumenta o valor da posição e um movimento para baixo/direito 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 altere fora desses valores iniciais, os valores mínimos/máximos 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. Estas são as propriedades que serão atualizadas em resposta à entrada do usuário e chamadas Try*. Usar essas propriedades dentro de ExpressionAnimations fará com que as propriedades animatá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 popular um CompositionPropertySet que acompanha o progresso, que por sua vez pode conduzir uma série de animações coordenadas.

Direcionando a entrada para o InteractionTracker

Depois de configurado, o 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.

Propriedades

Nome Description
Comment

Uma cadeia de caracteres a ser associada ao CompositionObject.

(Herdado de CompositionObject)
Compositor

O Compositor usado para criar este CompositionObject.

(Herdado de CompositionObject)
DispatcherQueue

Obtém o DispatcherQueue para o CompositionObject.

(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 de onde o InteractionTracker será interrompido. Há dois casos de uso principais para usar a propriedade NaturalRestingPosition: recuperar seu valor atual nosrgs de evento InertiaStateEntered ou referenciar essa propriedade em um 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 de onde o InteractionTracker será interrompido. Há dois casos de uso principais para usar a propriedade NaturalRestingScale: recuperar seu valor atual nosrgs de evento InertiaStateEntered 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 Ocioso e CustomAnimation, ele sempre estará entre os valores especificados nas propriedades MinPosition e MaxPosition. A propriedade de posição do InteractionTracker pode sair desse intervalo durante os estados Interação e Inércia para mostrar um salto ou resistência no limite.

A propriedade de posição 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 deste 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 o InteractionTracker diminuirá para uma parada quando tiver inserido 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 do InteractionTracker enquanto estiver em Inércia. Há dois casos de uso principais para essa propriedade: recuperar a velocidade de posição do InteractionTracker logo após a interação ter ocorrido ou referenciar a velocidade mais atual do 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 de escala 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 de escala quando o InteractionTracker estiver nos estados Ocioso 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 um pouco 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 o InteractionTracker diminuirá para uma parada quando tiver entrado na 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 estiver na Inércia. Agarrando a velocidade de posição do InteractionTracker logo após a interação ter ocorrido ou referenciando a velocidade mais atual do InteractionTracker em uma ExpressionAnimation.

Métodos

Nome Description
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á em Inércia, o primeiro CompositionConditionalValue a ter seu ". A condição" avaliada como true substitui o valor do Zoom CenterPointX que o rastreador usa por seu ". Valor". Se nenhum for avaliado como true, o CenterPointX não será substituído nesse quadro.

ConfigureCenterPointYInertiaModifiers(IIterable<CompositionConditionalValue>)

Usa uma lista ordenada de CompositionConditionalValue. Em um quadro, enquanto o rastreador está em Inércia, o primeiro CompositionConditionalValue a ter seu ". A condição" avaliada como true substitui o valor do CenterPointY de zoom 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 do InteractionTracker. O sistema avaliará cada propriedade 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 propriedade 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 propriedade 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.

Create(Compositor)

Cria uma instância do InteractionTracker.

Esse método Create criará uma instância de 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.

Dispose()

Executa tarefas definidas pelo aplicativo associadas à liberação, 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, AnimationController)

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

(Herdado de CompositionObject)
StartAnimation(String, CompositionAnimation)

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, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption)

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

TryUpdatePosition(Vector3, InteractionTrackerClampingOption)

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

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, em 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.

TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption)

Tenta ajustar a posição do InteractionTracker pela quantidade especificada 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.

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 de repouso direcionada para InteractionTracker agora é alterada. TryUpdatePositionWithAdditionalVelocity pode ser chamado de estados Ociosos, Inércia ou CustomAnimation. Isso adicionará ou atualizará a velocidade do InteractionTracker e entrará no estado de Inércia.

TryUpdatePositionWithAnimation(CompositionAnimation)

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

O método TryUpdatePositionWithAnimation atualiza a posição do 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 de Inércia tradicional. 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 a entrada escalar (representando velocidade adicional) à velocidade atual do InteractionTracker e desloca o ponto central para a entrada Vector3. Como resultado, como a velocidade do InteractionTracker agora foi alterada, a posição de escala de repouso direcionada para InteractionTracker agora é alterada. TryUpdateScaleWithAdditionalVelocity pode ser chamado de estados ociosos, inércias ou CustomAnimation. Isso adicionará ou atualizará a velocidade do InteractionTracker e entrará no estado de 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 parâmetro CompositionAnimation . 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 de Inércia tradicional. 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