Compartir a través de


InteractionTracker.TryUpdateScaleWithAdditionalVelocity Método

Definición

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.

public:
 virtual int TryUpdateScaleWithAdditionalVelocity(float velocityInPercentPerSecond, float3 centerPoint) = TryUpdateScaleWithAdditionalVelocity;
int TryUpdateScaleWithAdditionalVelocity(float const& velocityInPercentPerSecond, float3 const& centerPoint);
public int TryUpdateScaleWithAdditionalVelocity(float velocityInPercentPerSecond, Vector3 centerPoint);
function tryUpdateScaleWithAdditionalVelocity(velocityInPercentPerSecond, centerPoint)
Public Function TryUpdateScaleWithAdditionalVelocity (velocityInPercentPerSecond As Single, centerPoint As Vector3) As Integer

Parámetros

velocityInPercentPerSecond
Single

float

Velocidad que se va a agregar a la escala.

centerPoint
Vector3 Vector3

float3

Nuevo punto central.

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)
  {
    // Adding velocity to the scale motion.
    _tracker.TryUpdateScaleWithAdditionalVelocity(3.0f, new Vector3(75f));
  }
}

Comentarios

Si InteractionTracker está en su estado de interacción (manipulación activa del usuario) y se llama a TryUpdateScaleWithAdditionalVelocity, 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