Partager via


InteractionTracker.TryUpdateScaleWithAdditionalVelocity Méthode

Définition

Tente de mettre à jour l’échelle en ajoutant la vitesse spécifiée.

La méthode TryUpdateScaleWithAdditionalVelocity ajoute le scalaire entré représentant une vitesse supplémentaire à la vitesse actuelle d’InteractionTracker et déplace le point central vers le Vector3 entré. Par conséquent, étant donné que la vitesse d’InteractionTracker a maintenant changé, la position d’échelle de repos ciblée pour InteractionTracker change à présent. TryUpdateScaleWithAdditionalVelocity 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 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

Paramètres

velocityInPercentPerSecond
Single

float

Vitesse à ajouter à l’échelle.

centerPoint
Vector3 Vector3

float3

Nouveau point central.

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

Remarques

Si InteractionTracker est dans son état d’interaction (manipulation active de l’utilisateur) et que TryUpdateScaleWithAdditionalVelocity 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 à