InteractionTracker.TryUpdateScaleWithAdditionalVelocity Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.
Retours
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 actuel | Résultat |
---|---|
Idle | Les changements d’état des modificateurs d’inertie et d’inertie sont évalués avec la vitesse demandée comme vitesse initiale |
Interaction | Demande ignorée |
Inertie | L’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 |
CustomAnimation | L’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 |