InteractionTracker Classe
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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
- 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.
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ício | Estado final | Possíveis gatilhos |
---|---|---|
Ocioso | 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. |
Ocioso | Inércia | Essa transição de estado só acontece quando o InteractionTracker está no estado Ocioso e TryUpdatePositionWithVelocity ou TryUpdateScaleWithVelocity é chamado. |
Ocioso | CustomAnimation | 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 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ércia | Ocioso | 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 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ércia | Inércia | Essa 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ércia | CustomAnimation | 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 testes de clique para o VisualInteractionSource é fornecida antes da conclusão da Inércia. |
CustomAnimation | Ocioso | Essa transição de estado ocorre quando todas as animações definidas nas propriedades de posição e escala do InteractionTracker foram concluídas. |
CustomAnimation | CustomAnimation | Essa transição de estado ocorre quando uma chamada para TryUpdatePositionWithAnimation ou TryUpdateScaleWithAnimation é feita enquanto já está no estado CustomAnimation. |
CustomAnimation | Inércia | Essa transição de estado ocorre quando uma chamada para TryUpdatePositionWithVelocity ou TryUpdateScaleWithVelocity é feita quando está no estado CustomAnimation. |
CustomAnimation | Interação | Essa 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. |