InteractionTracker.TryUpdateScaleWithAdditionalVelocity 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.
Prova ad aggiornare la scala aggiungendo la velocità specificata.
Il metodo TryUpdateScaleWithAdditionalVelocity aggiunge il scalare immesso che rappresenta una velocità aggiuntiva alla velocità corrente di InteractionTracker , nonché sposta il punto centrale al vettore 3 immesso. Di conseguenza, poiché la velocità di InteractionTracker è ora cambiata, la posizione della scala di riposo di destinazione per InteractionTracker ora cambia. TryUpdateScaleWithAdditionalVelocity può essere chiamato dagli stati Idle, Inertia o CustomAnimation. In questo modo, aggiungere o aggiornare la velocità di InteractionTracker e immettere lo stato Inerzia.
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
Parametri
- velocityInPercentPerSecond
-
Single
float
Velocità da aggiungere alla scala.
Restituisce
int
Restituisce l'ID richiesta. Nelle transizioni di stato, la richiesta che ha causato la modifica dello stato verrà inclusa negli argomenti. Questi ID inizieranno da 1 e aumentano con ogni chiamata try 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)
{
// Adding velocity to the scale motion.
_tracker.TryUpdateScaleWithAdditionalVelocity(3.0f, new Vector3(75f));
}
}
Commenti
Se InteractionTracker si trova nello stato di interazione (che l'utente modifica attivamente) e viene chiamato TryUpdateScaleWithAdditionalVelocity, il sistema ignorerà questa richiesta: un evento viene generato quando ciò si verifica che può essere in ascolto. Se inviato da uno degli altri stati, attendere 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 ai modificatori di inerzia e inerzia vengono valutate con velocità richiesta come velocità iniziale |
Interazione | Richiesta ignorata |
Inerzia | L'inerzia viene riavviata (lo stato entra di nuovo in inerzia) e i modificatori di inerzia vengono valutati con velocità richiesta aggiunta alla velocità corrente |
CustomAnimation | L'animazione corrente si arresta e cambia stato in inerzia con modificatori di inerzia valutati usando la velocità richiesta come velocità iniziale |