InteractionTracker Clase

Definición

Controla la lógica de entrada que se puede usar como destinos en ExpressionAnimations, normalmente para impulsar el movimiento de los objetos visuales en función de la 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
Herencia
Object Platform::Object IInspectable CompositionObject InteractionTracker
Atributos

Ejemplos

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);
}

Comentarios

InteractionTracker es una máquina de estado que se puede controlar mediante la entrada activa o mediante llamadas explícitas para actualizar o animar sus propiedades. La clase InteractionTracker está pensada para habilitar la entrada para impulsar CompositionAnimations para experiencias de interacción personalizadas. Para crear experiencias interactivas, es necesario asociar uno o varios VisualInteractionSourcea InteractionTracker.

Escenarios comunes

IneractionTracker está diseñado para usarse para:

  • Adición de un comportamiento de deslizar el dedo personalizado, por ejemplo, deslizar elementos ListView u otros objetos visuales para eliminar o descartar
  • Transiciones vinculadas al movimiento panorámico, por ejemplo, deslizando para realizar la transición entre estados "cerrados" y "abiertos".
  • La animación controlada por entrada de un efecto, por ejemplo, el movimiento panorámico hace que la pantalla se desenfoque.
  • Controles personalizados, por ejemplo, la creación de una implementación personalizada de un ScrollViewer con diferentes velocidades de movimiento panorámico o la capacidad de controlarse mediante programación

Estados y transiciones de InteractionTracker

InteractionTracker es una máquina de estado con cuatro estados:

  • Inactivo: ninguna entrada activa o animaciones que impulsan InteractionTracker
  • Interacción: la entrada del usuario activo está impulsando InteractionTracker
  • Inercia: las animaciones activas que son resultado de la entrada activa o la velocidad mediante programación impulsan interactionTracker.
  • CustomAnimation: una propiedad de InteractionTracker se está animando directamente En el diagrama siguiente se muestran estos cuatro estados y qué transiciones de estado son válidas.

Imagen que muestra los estados InteractionTracker: Inactivo, Inercia, Interacción y Animación personalizada.

Las transiciones de estado pueden producirse debido a acciones de usuario (como iniciar o detener una manipulación) o debido a llamadas explícitas a métodos en InteractionTracker. Cada vez que se realiza una de estas llamadas explícitas, se emite un requestID para realizar un seguimiento de si la solicitud se omite o produce un cambio de estado.

Lo importante que hay que tener en cuenta es que InteractionTracker se ejecuta en un proceso diferente al de la aplicación que lo usa. Por lo tanto, todas las llamadas de método en InteractionTracker y las clases asociadas son asincrónicas, como son las devoluciones de llamada emitidas a través de la interfaz IInteractionTrackerOwner.

A continuación se describe lo que desencadena cada cambio de estado para que se produzca:

Estado de inicio Estado final Posibles desencadenadores
Inactivo Interacción Esta transición de estado solo se produce cuando se realiza una manipulación de usuario que se alinea con un objeto VisualInteractionSource asociado con InteractionTracker.
Inactivo Inercia Esta transición de estado solo se produce cuando interactionTracker está en estado Inactivo y se llama a TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity.
Inactivo AnimaciónPersonalizada Esta transición de estado se produce cuando InteractionTracker está en estado Inactivo y se llama a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation.
Interacción Inercia Esta transición de estado solo se produce cuando se completa una manipulación de usuario que se ha enviado a InteractionTracker. Cuando finaliza la entrada activa, InteractionTracker entrará en el estado De inercia y la información como la velocidad de liberación del dedo y La InerciaDecayRate determinará el comportamiento durante el estado de inercia.
Inercia Inactivo Esta transición de estado se produce cuando las funciones que se usan para actualizar la posición o la escala ya no dan lugar a cambios. En otras palabras, la posición y la velocidad de escala han llegado a cero. Esta transición de estado también puede ocurrir si se realiza una llamada para actualizar explícitamente la posición o la escala sin animación o velocidad. Estas llamadas finalizarán la inercia y pasarán a Idle con los valores de propiedad actualizados.
Inercia Inercia Esta transición de estado se produce cuando se llama a TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity cuando ya está en estado de inercia. Volver a escribir la inercia hará que se vuelvan a evaluar todas las propiedades InertiaStateEntered.
Inercia AnimaciónPersonalizada Esta transición de estado se produce cuando se realiza una llamada a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation mientras se encuentra en el sate de inercia.
Inercia Interacción Esta transición de estado se produce cuando la entrada activa del usuario que realiza pruebas de posicionamiento en VisualInteractionSource se produce antes de que se haya completado la inercia.
AnimaciónPersonalizada Inactivo Esta transición de estado se produce cuando se han completado todas las animaciones establecidas en la posición y las propiedades de escala de InteractionTracker.
AnimaciónPersonalizada AnimaciónPersonalizada Esta transición de estado se produce cuando se realiza una llamada a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation mientras ya está en estado CustomAnimation.
AnimaciónPersonalizada Inercia Esta transición de estado se produce cuando se realiza una llamada a TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity cuando se encuentra en estado CustomAnimation.
AnimaciónPersonalizada Interacción Esta transición de estado se produce cuando se realiza una manipulación de usuarios que realiza pruebas de posicionamiento en un objeto VisualInteractionSource asociado a InteractionTracker.

Cualquier transición de estado realizada por InteractionTracker generará una devolución de llamada que indica el nuevo estado con argumentos que incluyen información relevante para ese estado, así como el requestID de la solicitud que provocó el cambio de estado. Las manipulaciones activas del usuario darán como resultado un requestID de 0. Cualquier llamada Try* emitirá un requestID que se puede usar para realizar el seguimiento de la llamada Try* que provocó el cambio de estado. El primer requestID durante la vigencia de la aplicación será 1 y cada llamada posterior incrementará el identificador de solicitud, lo que significa que cada uno será único.

Posición y escala de InteractionTracker

Las dos propiedades más usadas de InteractionTracker son la posición y la escala. Cada vez que se produzca un cambio en una o ambas propiedades, la devolución de llamada ValuesChanged se enviará con información sobre los valores actuales. Debido a la naturaleza asincrónica de InteractionTracker, los valores recibidos a través de las devoluciones de llamada interactionTracker son la mejor manera de actualizar la lógica de la aplicación en el estado actual y los valores de InteractionTracker y sus propiedades.

Una distinción importante sobre InteractionTracker es que su posición y escala no están asociadas al espacio de coordenadas de ningún objeto visual determinado. En el momento en que se crea InteractionTracker, su posición tendrá los subcanales x, y z del vector establecido en 0 y la escala se establecerá en 1. Solo las llamadas de entrada activa o Try* pueden hacer que estos valores cambien. Los valores mínimo y máximo de cada propiedad dictan el intervalo en el que los valores pueden fluctuar. La única excepción es el concepto de "overpan" o "overzoom", donde una manipulación activa puede hacer que los valores vayan ligeramente más allá del mínimo o máximo durante el estado de interacción. Sin embargo, cuando se complete la manipulación, los valores siempre permanecerán dentro del intervalo establecido. CustomAnimations siempre se sujetará dentro de los intervalos establecidos para la posición y la escala.

El concepto de espacio de coordenadas InteractionTracker se alinea con el concepto de coordenadas de pantalla en que un movimiento hacia arriba/izquierda aumenta el valor de posición y un movimiento hacia abajo/derecha disminuye el valor de posición. Como resultado, es muy común negar la propiedad position al adjuntarla al desplazamiento de un objeto visual.

De forma predeterminada, los canales de posición mínimo y máximo son 0 y los valores de escala mínimo y máximo son 1. Si el comportamiento deseado para cualquiera de las propiedades es permitir que cambie fuera de estos valores iniciales, es necesario actualizar los valores mínimos o máximos.

InteractionTracker y ExpressionAnimations

InteractionTracker expone una variedad de propiedades que se pueden usar en el contexto de ExpressionAnimations para impulsar las actualizaciones de las propiedades animables de CompositionObject s. Debido a la naturaleza asincrónica de InteractionTracker, no se recomienda consultar estas propiedades directamente. En su lugar, debe usar las propiedades entregadas en devoluciones de llamada para impulsar la lógica de la aplicación y hacer referencia a los valores de expressionAnimation para actualizar las propiedades animables.

Como se mencionó anteriormente, las dos propiedades más usadas de InteractionTracker son las propiedades Position y Scale. Estas son las propiedades que se actualizarán en respuesta a las llamadas de entrada del usuario y Try*. El uso de estas propiedades dentro de ExpressionAnimations hará que las propiedades animables de CompositionObjects se actualicen en respuesta. Por ejemplo, la propiedad InteractionTracker.position puede estar asociada al desplazamiento de un objeto visual. También es habitual usar estas propiedades para rellenar un CompositionPropertySet que realiza un seguimiento del progreso, que a su vez puede impulsar una serie de animaciones coordinadas.

Dirigir la entrada a InteractionTracker

Después de configurarse, InteractionTracker todavía requiere un último paso para recibir realmente la entrada táctil y responder. Consulte la documentación de VisualInteractionSource. TryRedirectForManipulation para obtener más información sobre cómo configurar la entrada entrante para que fluya a InteractionTracker.

Propiedades

Nombre Description
Comment

Cadena que se va a asociar con compositionObject.

(Heredado de CompositionObject)
Compositor

Compositor usado para crear este CompositionObject.

(Heredado de CompositionObject)
DispatcherQueue

Obtiene dispatcherQueue para CompositionObject.

(Heredado de CompositionObject)
ImplicitAnimations

Colección de animaciones implícitas adjuntas a este objeto.

(Heredado de CompositionObject)
InteractionSources

Colección de objetos que generan interacciones.

IsInertiaFromImpulse

Obtiene un valor que indica si la inercia es el resultado de un impulso.

IsPositionRoundingSuggested

Valor booleano que indica si actualmente se sugiere el redondeo de posición.

MaxPosition

Posición máxima permitida para InteractionTracker.

MaxScale

Escala máxima para InteractionTracker.

MinPosition

Posición mínima permitida para InteractionTracker.

MinScale

Escala mínima para InteractionTracker.

NaturalRestingPosition

Posición de reposo natural para InteractionTracker.

La propiedad NaturalRestingPosition es la posición calculada en la que InteractionTracker se detendrá sin tener en cuenta los límites ni los modificadores de inercia . Esta propiedad suele ser útil para acciones como la virtualización en una experiencia de desplazamiento, donde es importante conocer la ubicación de dónde se detendrá InteractionTracker . Hay dos casos de uso principales para usar la propiedad NaturalRestingPosition: Recuperar su valor actual en los argumentos del evento InertiaStateEntered o hacer referencia a esta propiedad en una expressionAnimation al crear elementos como modificadores de inercia.

NaturalRestingScale

Escala de reposo natural para InteractionTracker.

La propiedad NaturalRestingScale es la posición de escala calculada en la que InteractionTracker se detendrá sin tener en cuenta los límites ni los modificadores de inercia . Esta propiedad suele ser útil para acciones como la virtualización en una experiencia de desplazamiento, donde es importante conocer la ubicación de dónde se detendrá InteractionTracker . Hay dos casos de uso principales para usar la propiedad NaturalRestingScale: Recuperar su valor actual en los argumentos del evento InertiaStateEntered o hacer referencia a esta propiedad en una expressionAnimation al crear elementos como modificadores de inercia.

Owner

IInteractionTrackerOwner asociado a InteractionTracker.

Position

Posición de salida calculada por InteractionTracker. La posición actual es un valor relativo. Durante los estados Idle y CustomAnimation, siempre estará entre los valores especificados en las propiedades MinPosition y MaxPosition. La propiedad de posición interactionTracker puede ir fuera de este intervalo durante los estados de interacción e inercia para mostrar un rebote o resistencia en el límite.

La propiedad position de InteractionTracker es un vector3 que representa la posición en el eje X, Y y Z. Los canales X e Y son los únicos componentes que va a actualizar InteractionTracker en este momento. Los canales de este Vector3 no fluctuarán fuera de 0 (el valor predeterminado) si no se establecen MinPosition y MaxPosition.

PositionInertiaDecayRate

Tasa de descomposición de inercia para la posición. El intervalo va de 0 a 1.

La propiedad PositionInertiaDecayRate define la velocidad a la que InteractionTracker se ralentizará a una parada cuando haya entrado en inercia y la posición cambie. Cuanto más cerca de 1, el interactionTracker más rápido se ralentizará a una parada y viceversa. Definido como vector3, cada componente representa la tasa de deserción de inercia para x, y, z en consecuencia.

PositionVelocityInPixelsPerSecond

Velocidad aplicada actualmente a la posición.

La propiedad PositionVelocityInPixelsPerSecond representa la velocidad de posición actual de InteractionTracker mientras está en inercia. Hay dos casos de uso principales para esta propiedad: Recuperar la velocidad de posición de InteractionTracker justo después de que se haya producido una interacción o hacer referencia a la velocidad más actual de InteractionTracker en una ExpressionAnimation.

Properties

Colección de propiedades asociadas a CompositionObject.

(Heredado de CompositionObject)
Scale

Escala de salida calculada por InteractionTracker. La escala actual es un valor relativo que depende de los valores especificados en las propiedades MinScale y MaxScale .

La propiedad scale de InteractionTracker es un float que representa la escala en el espacio de coordenadas de InteractionTracker . Este valor comenzará en 1 y aumentará o disminuirá en función de la entrada activa o las llamadas directas para actualizar o animar la propiedad. La propiedad scale cuando InteractionTracker está en los estados Idle o CustomAnimation no cambiará de 1 a menos que se actualicen las propiedades MinScale y MaxScale , que se actualizan de forma predeterminada a 1. InteractionTracker La escala de puede ir ligeramente fuera de este intervalo durante los estados de interacción e inercia para mostrar un rebote o resistencia en el límite.

ScaleInertiaDecayRate

Tasa de descomposición de inercia, para escala. El intervalo va de 0 a 1.

La propiedad ScaleInertiaDecayRate define la velocidad a la que InteractionTracker se ralentizará a una parada cuando haya entrado en inercia y la escala cambie. Cuanto más cerca de 1, el interactionTracker más rápido se ralentizará a una parada y viceversa. A diferencia de PositionInertiaDecayRate , que se define como vector3, ScaleInertiaDecayRate se define como un solo float.

ScaleVelocityInPercentPerSecond

Tasa de cambio de escala.

La propiedad ScaleVelocityInPerSecond representa la velocidad de escala actual de InteractionTracker mientras se encuentra en Inercia. Toma la velocidad de posición de InteractionTracker justo después de que se haya producido una interacción o haga referencia a la velocidad más actual de InteractionTracker en una ExpressionAnimation.

Métodos

Nombre Description
AdjustPositionXIfGreaterThanThreshold(Single, Single)

Ajusta la coordenada x de posición si es mayor que el umbral especificado.

AdjustPositionYIfGreaterThanThreshold(Single, Single)

Ajusta la coordenada y de posición si es mayor que el umbral especificado.

Close()

Cierra compositionObject y libera los recursos del sistema.

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

Toma una lista ordenada de CompositionConditionalValue. En un marco, mientras que el rastreador está en inercia, el primer CompositionConditionalValue para tener su ". Condition" se evalúa como true reemplaza el valor de Zoom CenterPointX que usa el rastreador por su ". Valor". Si ninguno se evalúa como true, CenterPointX no se reemplaza a ese marco.

ConfigureCenterPointYInertiaModifiers(IIterable<CompositionConditionalValue>)

Toma una lista ordenada de CompositionConditionalValue. En un marco, mientras que el rastreador está en inercia, el primer CompositionConditionalValue para tener su ". Condition" se evalúa como true reemplaza el valor de Zoom CenterPointY que usa el rastreador por su ". Valor". Si ninguno se evalúa como true, CenterPointY no se reemplaza a ese marco.

ConfigurePositionXInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Aplica una colección de objetos InteractionTrackerInertiaModifier a la inercia x de interactionTracker.

El método ConfigurePositionXInertiaModifiers aplica una colección individual o de InteractionTrackerInertiaModifiers al componente x de InteractionTracker. El sistema evaluará cada una de las propiedades de condición del modificador X en el orden en que se agregaron a InteractionTracker. Por lo tanto, el orden en que interactionTrackerInertiaModifier tiene en la colección será el mismo orden con el que el sistema se evaluará.

ConfigurePositionYInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Aplica una colección de objetos InteractionTrackerInertiaModifier a la inercia y de interactionTracker.

El método ConfigurePositionYInertiaModifiers aplica un individuo o una colección de InteractionTrackerInertiaModifiers al componente y de InteractionTracker. El sistema evaluará cada propiedad de condición del modificador Y en el orden en que se agregaron a InteractionTracker. Por lo tanto, el orden en que interactionTrackerInertiaModifier tiene en la colección será el mismo orden con el que el sistema se evaluará.

ConfigureScaleInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Aplica una colección de objetos InteractionTrackerInertiaModifier a la escala de interactionTracker.

El método ConfigureScaleInertiaModifiers aplica un individuo o una colección de InteractionTrackerInertiaModifiers al componente de escala de InteractionTracker. El sistema evaluará cada una de las propiedades de condición del modificador Scale en el orden en que se agregaron a InteractionTracker. Por lo tanto, el orden en que interactionTrackerInertiaModifier tiene en la colección será el mismo orden con el que el sistema se evaluará.

ConfigureVector2PositionInertiaModifiers(IIterable<InteractionTrackerVector2InertiaModifier>)

Aplica una colección de objetos InteractionTrackerInertiaModifier a la posición de interactionTracker.

Create(Compositor)

Crea una instancia de InteractionTracker.

Este método Create creará una instancia de InteractionTracker. Después de crear interactionTracker , establecer las propiedades, adjuntar visualInteractionSource y hacer referencia a la posición o la escala en una expresiónAnimation, la entrada activa puede impulsar expressionAnimation.

CreateWithOwner(Compositor, IInteractionTrackerOwner)

Crea una instancia de InteractionTracker con el propietario especificado.

Este método Create creará una instancia de InteractionTracker con un propietario para registrar las devoluciones de llamada. Después de crear interactionTracker , establecer las propiedades, adjuntar visualInteractionSource y hacer referencia a la posición o la escala en una expresiónAnimation, la entrada activa puede impulsar expressionAnimation. La creación de InteractionTracker con un propietario solo es necesaria si la aplicación necesita recibir devoluciones de llamada con respecto al estado y los valores de InteractionTracker.

Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación, liberación o restablecimiento de recursos no administrados.

(Heredado de CompositionObject)
GetBindingMode(InteractionTracker, InteractionTracker)

Recupera el modo de eje de enlace entre dos rastreadores de interacción.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Define una propiedad que se puede animar.

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

Establece el modo de eje de enlace entre dos rastreadores de interacción.

StartAnimation(String, CompositionAnimation, AnimationController)

Conecta una animación con la propiedad especificada del objeto e inicia la animación.

(Heredado de CompositionObject)
StartAnimation(String, CompositionAnimation)

Conecta una animación con la propiedad especificada del objeto e inicia la animación.

(Heredado de CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Inicia un grupo de animación.

El método StartAnimationGroup de CompositionObject le permite iniciar CompositionAnimationGroup. Todas las animaciones del grupo se iniciarán al mismo tiempo en el objeto .

(Heredado de CompositionObject)
StopAnimation(String)

Desconecta una animación de la propiedad especificada y detiene la animación.

(Heredado de CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Detiene un grupo de animación.

(Heredado de CompositionObject)
TryGetAnimationController(String)

Devuelve un AnimationController para la animación que se ejecuta en la propiedad especificada.

(Heredado de CompositionObject)
TryUpdatePosition(Vector3, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption)

Intenta actualizar la posición de InteractionTracker mediante la opción de fijación especificada.

TryUpdatePosition(Vector3, InteractionTrackerClampingOption)

Intenta actualizar la posición de InteractionTracker mediante la opción de fijación especificada.

TryUpdatePosition(Vector3)

Intenta actualizar la posición de InteractionTracker.

El método TryUpdatePosition actualiza la ubicación de InteractionTracker a la posición Vector3 especificada como parámetro. TryUpdatePosition se usa para definir mediante declaración la posición de InteractionTracker en cualquier momento dado (ya sea al principio, desde algún evento especificado por estado, etc.). Se puede llamar a TryUpdatePosition desde el estado Inactivo, CustomAnimation o Inercia; si lo hace, moverá la posición de InteractionTracker a la posición definida y entrará en estado de inactividad.

TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption)

Intenta ajustar la posición de InteractionTracker por la cantidad especificada mediante la opción de fijación especificada.

TryUpdatePositionBy(Vector3)

Intenta ajustar la posición de InteractionTracker por la cantidad especificada.

El método TryUpdatePositionBy actualiza la ubicación actual de InteractionTracker por la diferencia Vector3 especificada como parámetro. De forma similar a TryUpdatePosition, TryUpdatePositionBy se usa para mover mediante declaración InteractionTracker mediante una diferencia definida sin necesidad de una animación o inercia. Se puede llamar a TryUpdatePositionBy desde el estado Inactivo, CustomAnimation o Inercia; si lo hace, moverá la posición de InteractionTracker por el delta definido y entrará en estado inactivo.

TryUpdatePositionWithAdditionalVelocity(Vector3)

Intenta actualizar la posición de InteractionTracker agregando velocidad.

El método TryUpdatePositionWithAdditionalVelocity agrega la entrada Vector3 que representa velocidad adicional a la velocidad actual de InteractionTracker. Como resultado, dado que la velocidad de InteractionTracker ha cambiado ahora, ahora cambia la posición de reposo de destino de InteractionTracker . Se puede llamar a TryUpdatePositionWithAdditionalVelocity desde los estados Inactivo, Inercia o CustomAnimation; de este modo, agregará o actualizará la velocidad de InteractionTracker y entrará en el estado De inercia.

TryUpdatePositionWithAnimation(CompositionAnimation)

Intenta actualizar la posición de InteractionTracker aplicando una animación.

El método TryUpdatePositionWithAnimation actualiza la posición de InteractionTracker en función de la entrada CompositionAnimation como parámetro. Este método se usa en situaciones en las que el movimiento de InteractionTracker debe definirse mediante una animación específica, en lugar de la experiencia de inercia tradicional. Se puede llamar a TryUpdatePositionWithAnimation desde el estado Inactivo o Inercia; de este modo, la posición de InteractionTracker se controlará mediante la animación definida y entrará en el estado CustomAnimation.

TryUpdateScale(Single, Vector3)

Intenta actualizar la escala al valor especificado.

El método TryUpdateScale actualiza la ubicación de escala de InteractionTracker a la posición de escala y el punto central especificados como parámetro. TryUpdateScale se usa para definir mediante declaración la escala de InteractionTracker en cualquier momento dado (ya sea al principio, desde algún evento especificado por estado, etc.). Se puede llamar a TryUpdateScale desde el estado Inactivo, CustomAnimation o Inercia; al hacerlo, se moverá la posición de escala de InteractionTracker a la posición definida y se especificará el estado de inactividad.

TryUpdateScaleWithAdditionalVelocity(Single, Vector3)

Intenta actualizar la escala agregando la velocidad especificada.

El método TryUpdateScaleWithAdditionalVelocity agrega la entrada escalar (que representa velocidad adicional) a la velocidad actual de InteractionTracker y desplaza el punto central a la entrada Vector3. Como resultado, dado que la velocidad de InteractionTracker ha cambiado ahora, la posición de escala de rest de destino para InteractionTracker ahora cambia. Se puede llamar a TryUpdateScaleWithAdditionalVelocity desde estados Inactivo, Inercia o CustomAnimation; de esta forma, agregará o actualizará la velocidad de InteractionTracker y entrará en el estado De inercia.

TryUpdateScaleWithAnimation(CompositionAnimation, Vector3)

Intenta actualizar la escala con la animación especificada.

El método TryUpdateScaleWithAnimation actualiza la posición de escala de InteractionTracker en función del parámetro CompositionAnimation . Este método se usa en situaciones en las que el movimiento de InteractionTracker debe definirse mediante una animación específica, en lugar de la experiencia de inercia tradicional. Se puede llamar a TryUpdateScaleWithAnimation desde el estado Inactivo o Inercia; de este modo, la posición de InteractionTracker se controlará mediante la animación definida y entrará en el estado CustomAnimation.

Se aplica a

Consulte también