Compartir a través de


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:

  • 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 pasar 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, crear 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: no hay entradas ni animaciones activas que impulsan interactionTracker.
  • Interacción: la entrada activa del usuario está impulsando interactionTracker
  • Inercia: las animaciones activas que son el resultado de la entrada activa o la velocidad de programación impulsan interactionTracker.
  • CustomAnimation: una propiedad de InteractionTracker se está animando directamente El diagrama siguiente muestra 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 del 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, 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 se produzca:

Begin StateEstado finalPosibles desencadenadores
InactivoInteracciónEsta transición de estado solo se produce cuando se realiza una manipulación del usuario que se alinea con un objeto VisualInteractionSource asociado con 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 La InerciaDecayRate 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 producen 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. Al volver a escribir la inercia, se volverán a evaluar todas las propiedades 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 el 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 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 valor de 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 position y scale. Siempre 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 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 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 Interacting. 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 de posición 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 try* y 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 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 al Objeto 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.

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)
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 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 de escala.

La propiedad ScaleVelocityInPercentPerSecond representa la velocidad de escala actual de InteractionTracker mientras se encuentra en Inercia. Agarrar 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.

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.

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 (ya sea al principio, desde algún evento especificado por el estado, etc.). Se puede llamar a TryUpdatePosition desde el estado Idle, CustomAnimation o Inercia. Si lo hace, moverá la posición de InteractionTracker a la posición definida y entrará en el estado inactivo.

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 la diferencia Vector3 especificada como parámetro. De forma similar a TryUpdatePosition, TryUpdatePositionBy se usa para mover de forma declarativa InteractionTracker por un delta definido sin necesidad de una animación o inercia. Se puede llamar a TryUpdatePositionBy desde el estado Idle, CustomAnimation o Inercia; al hacerlo, moverá la posición de InteractionTracker por el delta definido y entrará en el 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 una 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 de InteractionTracker ahora cambia. Se puede llamar a TryUpdatePositionWithAdditionalVelocity desde 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; 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 (ya sea al principio, desde algún evento especificado por el estado, etc.). Se puede llamar a TryUpdateScale desde el estado Idle, CustomAnimation o Inercia. Si lo hace, moverá la posición de escala de InteractionTracker a la posición definida y entrará en el estado inactivo.

TryUpdateScaleWithAdditionalVelocity(Single, Vector3)

Intenta actualizar la escala agregando la velocidad especificada.

El método TryUpdateScaleWithAdditionalVelocity agrega el escalar de entrada que representa una 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 los estados Inactivo, Inercia o CustomAnimation. Si lo hace, 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 según 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