Compartir a través de


InteractionTracker.TryUpdatePositionWithAdditionalVelocity(Vector3) Método

Definición

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.

public:
 virtual int TryUpdatePositionWithAdditionalVelocity(float3 velocityInPixelsPerSecond) = TryUpdatePositionWithAdditionalVelocity;
int TryUpdatePositionWithAdditionalVelocity(float3 const& velocityInPixelsPerSecond);
public int TryUpdatePositionWithAdditionalVelocity(Vector3 velocityInPixelsPerSecond);
function tryUpdatePositionWithAdditionalVelocity(velocityInPixelsPerSecond)
Public Function TryUpdatePositionWithAdditionalVelocity (velocityInPixelsPerSecond As Vector3) As Integer

Parámetros

velocityInPixelsPerSecond
Vector3 Vector3

float3

Velocidad que se va a agregar en píxeles por segundo.

Devoluciones

Int32

int

Devuelve el identificador de solicitud. En las transiciones de estado, la solicitud que provocó el cambio en estado se incluirá en los argumentos. Estos identificadores se iniciarán en 1 y aumentarán con cada llamada try durante la vigencia de la aplicación.

Ejemplos

// Listen for the InertiaStateEntered event
public void InertiaStateEntered(InteractionTracker sender, 	InteractionTrackerInertiaStateEnteredArgs args)
{
  // Adding velocity to InteractionTracker if condition met
  if (_extraVelocityNeeded)
  {
    // Only adding velocity in the Y direction
    _tracker.TryUpdatePositionWithAdditionalVelocity(new Vector3(0.0f, 50.0f,	0.0f));
  }
}

Comentarios

Si InteractionTracker está en su estado de interacción (manipulación activa del usuario) y se llama a TryUpdatePositionWithAdditionalVelocity, el sistema omitirá esta solicitud: se desencadena un evento cuando esto ocurre que se puede escuchar. Si se envía desde uno de los otros estados, escuche el evento desencadenado para InertiaStateEntered y compruebe la propiedad RequestId que identifica qué solicitud desencadenó la devolución de llamada. En la tabla siguiente se resume el comportamiento esperado cuando se llama a este método en un estado determinado:

Estado actualResultado
InactivoLos cambios de estado en los modificadores de inercia e inercia se evalúan con la velocidad solicitada como velocidad inicial.
InteracciónSolicitud omitida
InerciaSe reinicia la inercia (el estado vuelve a entrar en la inercia) y los modificadores de inercia se evalúan con la velocidad solicitada agregada a la velocidad actual.
CustomAnimationLa animación actual detiene y cambia de estado a la inercia con modificadores de inercia evaluados mediante la velocidad solicitada como velocidad inicial

Se aplica a