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 Idle, Inertie ou CustomAnimation. Cela permet d’ajouter ou de mettre à jour la vélocité 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 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)
  {
    // 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 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 à