InteractionTracker.TryUpdateScaleWithAnimation 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 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.
public:
virtual int TryUpdateScaleWithAnimation(CompositionAnimation ^ animation, float3 centerPoint) = TryUpdateScaleWithAnimation;
int TryUpdateScaleWithAnimation(CompositionAnimation const& animation, float3 const& centerPoint);
public int TryUpdateScaleWithAnimation(CompositionAnimation animation, Vector3 centerPoint);
function tryUpdateScaleWithAnimation(animation, centerPoint)
Public Function TryUpdateScaleWithAnimation (animation As CompositionAnimation, centerPoint As Vector3) As Integer
Parâmetros
- animation
- CompositionAnimation
A animação a ser aplicada à escala.
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 argumentos. Essas IDs começarão em 1 e aumentarão a cada chamada try durante o tempo de vida do aplicativo.
Exemplos
void CustomAnimationForIT(float newScale, Vector3 newCenterPoint)
{
// 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
ScalarKeyFrameAnimation kfa = _compositor.CreateScalarKeyFrameAnimation();
kfa.Duration = TimeSpan.FromSeconds(3);
// Create the KeyFrames
kfa.InsertKeyFrame(1.0f, newScale, cubicBezier);
// Update InteractionTracker position using this animation
_tracker.TryUpdatePositionWithAnimation(kfa, newCenterPoint);
}
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 TryUpdateScaleWithAnimation.
Ao definir a animação que animará a posição de escala do InteractionTracker , certifique-se de usar um ScalarKeyFrameAnimation ou um ExpressionAnimation que seja resolvido para um Escalar.
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 é alterado para CustomAnimation |
Interação | Solicitação ignorada |
Inércia | A animação solicitada começa na propriedade solicitada, o estado é alterado para CustomAnimation |
CustomAnimation | As paradas de animação atuais e a nova animação solicitada começa na propriedade solicitada, o estado reinsere CustomAnimation |