Partager via


InteractionTracker.TryUpdatePositionWithAdditionalVelocity(Vector3) Méthode

Définition

Tente de mettre à jour la position d’InteractionTracker en ajoutant de la vélocité.

La méthode TryUpdatePositionWithAdditionalVelocity ajoute l’entrée Vector3 représentant une vitesse supplémentaire à la vitesse actuelle d’InteractionTracker. Par conséquent, étant donné que la vitesse d’InteractionTracker a maintenant changé, la position de repos ciblée pour InteractionTracker change à présent. TryUpdatePositionWithAdditionalVelocity peut être appelé à partir des états Idle, Inertie ou CustomAnimation. Cela permet d’ajouter ou de mettre à jour la vitesse d’InteractionTracker et d’entrer l’état Inertie.

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

Paramètres

velocityInPixelsPerSecond
Vector3 Vector3

float3

Vitesse à ajouter en pixels par seconde.

Retours

Int32

int

Retourne l’ID de demande. Lors des transitions d’état, la demande qui a provoqué le changement d’état est incluse dans les arguments. Ces ID commencent à 1 et augmentent à chaque appel d’essai pendant la durée de vie de l’application.

Exemples

// 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));
  }
}

Remarques

Si InteractionTracker est dans son état d’interaction (manipulation active de l’utilisateur) et que TryUpdatePositionWithAdditionalVelocity est appelé, le système ignore cette requête : un événement est déclenché lorsque cela se produit et peut être écouté. S’il est envoyé à partir de l’un des autres états, écoutez l’événement déclenché pour InertieStateEntered et case activée la propriété RequestId qui identifie la requête qui a déclenché le rappel. Le tableau ci-dessous récapitule le comportement attendu lorsque cette méthode est appelée dans un état particulier :

État actuelRésultat
IdleLes changements d’état des modificateurs d’inertie et d’inertie sont évalués avec la vitesse demandée comme vitesse initiale
InteractionDemande ignorée
InertieL’inertie est redémarrée (l’état revient à l’inertie) et les modificateurs d’inertie sont évalués avec la vitesse demandée ajoutée à la vitesse actuelle
CustomAnimationL’animation actuelle s’arrête et l’état change à l’inertie avec des modificateurs d’inertie évalués à l’aide de la vitesse demandée comme vitesse initiale

S’applique à