InteractionTracker.TryUpdatePositionWithAdditionalVelocity(Vector3) 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 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
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)
{
// 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 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 |