InteractionTracker.TryUpdatePositionWithAnimation Método
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.
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 de 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.
public:
virtual int TryUpdatePositionWithAnimation(CompositionAnimation ^ animation) = TryUpdatePositionWithAnimation;
int TryUpdatePositionWithAnimation(CompositionAnimation const& animation);
public int TryUpdatePositionWithAnimation(CompositionAnimation animation);
function tryUpdatePositionWithAnimation(animation)
Public Function TryUpdatePositionWithAnimation (animation As CompositionAnimation) As Integer
Parâmetros
- animation
- CompositionAnimation
A animação a ser aplicada ao InteractionTracker.
Retornos
int
Retorna a ID da solicitação. Em transições de estado, a solicitação que causou a alteração no estado será incluída nos args. Essas IDs começarão em 1 e aumentarão com cada chamada try durante o tempo de vida do aplicativo.
Exemplos
void CustomAnimationForIT(Vector3 newPosition)
{
// Create a cubic bezier easing function that will be used in the KeyFrames
CompositionEasingFunction cubicBezier = _compositor.CreateCubicBezierEasingFunction(new Vector2(.17f, .67f), new Vector2(1f, 1f);
// Create the Vector3 KFA
Vector3KeyFrameAnimation kfa = _compositor.CreateVector3KeyFrameAnimation();
kfa.Duration = TimeSpan.FromSeconds(3);
// Create the KeyFrames
kfa.InsertKeyFrame(1.0f, newPosition, cubicBezier);
// Update InteractionTracker position using this animation
_tracker.TryUpdatePositionWithAnimation(kfa);
}
Comentários
Ao criar a animação com a qual você deseja atualizar a posição do InteractionTracker , você não precisa chamar Microsoft.UI.Composition.CompositionObject.StartAnimation. O sistema cuidará disso nos bastidores depois que a animação for passada por meio de TryUpdatePositionWithAnimation.
Ao definir a animação que animará a posição do InteractionTracker , use um Vector3KeyFrameAnimation ou um ExpressionAnimation que seja resolvido para um Vector3.
A tabela a seguir resume o comportamento esperado quando esse método é chamado em um estado específico:
Estado Atual | Resultado |
---|---|
Ocioso | A animação solicitada começa na propriedade solicitada, o estado muda para CustomAnimation |
Interação | Solicitação ignorada |
Inércia | A animação solicitada começa na propriedade solicitada, o estado muda para CustomAnimation |
CustomAnimation | A animação atual é interrompida e a nova animação solicitada é iniciada na propriedade solicitada, o estado reentram em CustomAnimation |