InteractionTracker.TryUpdateScaleWithAdditionalVelocity Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.
Devoluciones
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 actual | Resultado |
---|---|
Inactivo | Los cambios de estado en los modificadores de inercia e inercia se evalúan con la velocidad solicitada como velocidad inicial. |
Interacción | Solicitud omitida |
Inercia | Se 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. |
CustomAnimation | La animación actual detiene y cambia de estado a la inercia con modificadores de inercia evaluados mediante la velocidad solicitada como velocidad inicial |