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(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
Herencia
Object Platform::Object IInspectable CompositionObject InteractionTracker
Atributos

Requisitos de Windows

Familia de dispositivos
Windows 10 Anniversary Edition (se introdujo en la versión 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (se introdujo en la versión v3.0)

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 VisualInteractionSourcecon InteractionTracker.

Escenarios comunes

IneractionTracker está pensado para usarse para:

  • Agregar 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 de usuario activa está impulsando InteractionTracker
  • Inercia: las animaciones activas que son el 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.
Estados de 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 provoca 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, al igual que 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 suceda:

Estado de inicioEstado finalPosibles desencadenadores
InactivoInteracciónEsta transición de estado solo se produce cuando se realiza una manipulación de usuario que se alinea con un objeto VisualInteractionSource asociado a InteractionTracker.
InactivoInerciaEsta transición de estado solo se produce cuando interactionTracker está en estado Inactivo y se llama a TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity.
InactivoCustomAnimationEsta transición de estado se produce cuando InteractionTracker está en estado Inactivo y se llama a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation.
InteracciónInerciaEsta transición de estado solo se produce cuando se completa una manipulación del 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 El DedoDecayRate determinará el comportamiento durante el estado de inercia.
InerciaInactivoEsta 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.
InerciaInerciaEsta 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 de InertiaStateEntered.
InerciaCustomAnimationEsta transición de estado se produce cuando se realiza una llamada a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation mientras se encuentra en el sate de inercia.
InerciaInteracciónEsta transición de estado se produce cuando se produce una entrada activa del usuario que realiza pruebas de posicionamiento en VisualInteractionSource antes de que se haya completado la inercia.
CustomAnimationInactivoEsta 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.
CustomAnimationCustomAnimationEsta transición de estado se produce cuando se realiza una llamada a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation mientras ya está en estado CustomAnimation.
CustomAnimationInerciaEsta transición de estado se produce cuando se realiza una llamada a TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity cuando se encuentra en estado CustomAnimation.
CustomAnimationInteracciónEsta transición de estado se produce cuando se realiza una manipulación del usuario que realiza pruebas de posicionamiento en un objeto VisualInteractionSource asociado con InteractionTracker.

Cualquier transición de estado realizada por InteractionTracker generará una devolución de llamada que indique el nuevo estado con argumentos que incluyan 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 requestID, lo que significa que cada uno será único.

Posición y escala de InteractionTracker

Las dos propiedades más usadas de InteractionTracker son position y scale. Cada vez que haya 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 de 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 con el 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 determinarán 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 superen ligeramente el mínimo o máximo durante el estado de interacción. Sin embargo, cuando se complete la manipulación, los valores siempre estarán en reposo 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 a offset 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 try* de entrada del usuario. 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 vinculada 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 conducir 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 sobre VisualInteractionSource. TryRedirectForManipulation para obtener más información sobre cómo configurar la entrada entrante para que fluya a InteractionTracker.

Historial de versiones

Versión de Windows Versión del SDK Valor agregado
1703 15063 ConfigureCenterPointXInertiaModifiers
1703 15063 ConfigureCenterPointYInertiaModifiers
1709 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)

Propiedades

Comment

Cadena que se va a asociar con compositionObject.

(Heredado de CompositionObject)
Compositor

Compositor que se usa para crear este CompositionObject.

(Heredado de CompositionObject)
Dispatcher

Distribuidor de CompositionObject.

(Heredado de CompositionObject)
DispatcherQueue

Obtiene dispatcherQueue para CompostionObject.

(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 llegará a una parada 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 llegará a una parada 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 de 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 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 deserción de inercia para la posición. El intervalo es de 0 a 1.

La propiedad PositionInertiaDecayRate define la velocidad a la que InteractionTracker ralentizará 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 se encuentra 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 haga 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 se encuentra 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 Interacting e Inercia para mostrar un rebote o resistencia en el límite.

ScaleInertiaDecayRate

Tasa de deserción de inercia, para la escala. El intervalo es de 0 a 1.

La propiedad ScaleInertiaDecayRate define la velocidad a la que InteractionTracker ralentizará 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 único float.

ScaleVelocityInPercentPerSecond

Tasa de cambio para la escala.

La propiedad ScaleVelocityInPerSecond representa la velocidad de escala actual de InteractionTracker mientras está en inercia. Agarrando 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

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 el rastreador está en inercia, el primer CompositionConditionalValue para tener su ". Condition" evaluate to true replaces the zoom CenterPointX value the tracker uses with its ". Valor". Si ninguno se evalúa como true, CenterPointX no se reemplaza en ese marco.

ConfigureCenterPointYInertiaModifiers(IIterable<CompositionConditionalValue>)

Toma una lista ordenada de CompositionConditionalValue. En un marco, mientras el rastreador está en inercia, el primer CompositionConditionalValue para tener su ". Condition" evaluate to true replaces the zoom CenterPointY value the tracker uses with its ". Valor". Si ninguno se evalúa como true, CenterPointY no se reemplaza en ese marco.

ConfigurePositionXInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

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

El método ConfigurePositionXInertiaModifiers aplica una persona o una colección de InteractionTrackerInertiaModifiers al componente x de InteractionTracker. El sistema evaluará cada propiedad 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 se evaluará el sistema.

ConfigurePositionYInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

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

El método ConfigurePositionYInertiaModifiers aplica una persona 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 se evaluará el sistema.

ConfigureScaleInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

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

El método ConfigureScaleInertiaModifiers aplica una persona 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 se evaluará el sistema.

ConfigureVector2PositionInertiaModifiers(IIterable<InteractionTrackerVector2InertiaModifier>)

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

ConnectAnimation(String, CompositionAnimation)

Conecta y animación.

(Heredado de CompositionObject)
Create(Compositor)

Crea una instancia de InteractionTracker.

Este método Create creará una instancia de InteractionTracker. Después de crear interactionTracker estableciendo las propiedades, adjuntando visualInteractionSource y haciendo referencia a la posición o escala en una expressionAnimation, 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 registrarse para las devoluciones de llamada. Después de crear interactionTracker estableciendo las propiedades, adjuntando visualInteractionSource y haciendo referencia a la posición o escala en una expressionAnimation, 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.

DisconnectAnimation(String)

Desconecta una animación.

(Heredado de CompositionObject)
Dispose()

Realiza tareas definidas por la aplicación asociadas a la liberación o al 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)

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

(Heredado de CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

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 en CompositionObject 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 animaciones.

(Heredado de CompositionObject)
TryGetAnimationController(String)

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

(Heredado de CompositionObject)
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 el estado, etc.). Se puede llamar a TryUpdatePosition desde el estado Inactivo, CustomAnimation o Inercia; al hacerlo, se moverá la posición de InteractionTracker a la posición definida y se especificará el estado de inactividad.

TryUpdatePosition(Vector3, InteractionTrackerClampingOption)

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

TryUpdatePosition(Vector3, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption)

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

TryUpdatePositionBy(Vector3)

Intenta ajustar la posición de InteractionTracker según la cantidad especificada.

El método TryUpdatePositionBy actualiza la ubicación actual de InteractionTracker por el delta Vector3 especificado como parámetro. De forma similar a TryUpdatePosition, TryUpdatePositionBy se usa para mover de forma declarativa 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 mediante el delta definido y entrará en estado de inactividad.

TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption)

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

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, la posición de reposo de destino para InteractionTracker ahora cambia. Se puede llamar a TryUpdatePositionWithAdditionalVelocity desde estados Inactivo, Inercia o CustomAnimation; de este modo, se 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: al hacerlo, 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 el 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 el escalar especificado que representa velocidad adicional a la velocidad actual de InteractionTracker , así como desplaza el punto central al vector de entrada3. 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; al hacerlo, se 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 basada en 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 TryUpdateScaleWithAnimation desde el estado Inactivo o Inercia; al hacerlo, la posición de InteractionTracker se controlará mediante la animación definida y entrará en el estado CustomAnimation.

Se aplica a

Consulte también