InteractionTracker.TryUpdatePositionWithAdditionalVelocity(Vector3) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Tenta di aggiornare la posizione di InteractionTracker aggiungendo velocità.
Il metodo TryUpdatePositionWithAdditionalVelocity aggiunge l'input Vector3 che rappresenta una velocità aggiuntiva alla velocità corrente di InteractionTracker. Di conseguenza, poiché la velocità di InteractionTracker è ora cambiata, la posizione di riposo di destinazione per InteractionTracker ora cambia. TryUpdatePositionWithAdditionalVelocity può essere chiamato dagli stati Idle, Inertia o CustomAnimation, in modo da aggiungere o aggiornare la velocità di InteractionTracker e immettere lo stato Inertia.
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
Parametri
Restituisce
int
Restituisce l'ID richiesta. Nelle transizioni di stato, la richiesta che ha causato la modifica dello stato verrà inclusa nell'args. Questi ID iniziano a 1 e aumentano con ogni chiamata di tentativo durante la durata dell'applicazione.
Esempio
// 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));
}
}
Commenti
Se InteractionTracker si trova nello stato di interazione (modifica attiva dell'utente) e TryUpdatePositionWithAdditionalVelocity viene chiamato, il sistema ignora questa richiesta: un evento viene attivato quando si verifica che può essere ascoltato. Se inviato da uno degli altri stati, ascoltare l'evento generato per InertiaStateEntered e controllare la proprietà RequestId che identifica la richiesta che ha attivato il callback. La tabella seguente riepiloga il comportamento previsto quando questo metodo viene chiamato in uno stato specifico:
Stato corrente | Risultato |
---|---|
Idle | Le modifiche dello stato all'inertia e ai modificatori inertia vengono valutate con velocità richiesta come velocità iniziale |
Interazione | Richiesta ignorata |
Inerzia | L'inerzia viene riavviata (lo stato entra di nuovo inertia) e i modificatori inerti vengono valutati con velocità richiesta aggiunta alla velocità corrente |
CustomAnimation | L'animazione corrente si arresta e cambia lo stato inertia con modificatori inerti valutati usando la velocità richiesta come velocità iniziale |