Partager via


InteractionTracker.TryUpdatePositionWithAdditionalVelocity(Vector3) Méthode

Définition

Tente de mettre à jour la position d’InteractionTracker en ajoutant de la vitesse.

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 Inactive, 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 requête 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 demande 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 réinitie 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 change d’état à l’inertie avec des modificateurs d’inertie évalués à l’aide de la vitesse demandée comme vitesse initiale

S’applique à