Condividi tramite


InteractionTracker.TryUpdateScaleWithAdditionalVelocity Metodo

Definizione

Tenta di aggiornare la scala aggiungendo la velocità specificata.

Il metodo TryUpdateScaleWithAdditionalVelocity aggiunge la scalare inputted che rappresenta una velocità aggiuntiva alla velocità corrente di InteractionTracker e sposta il punto centrale sul vettore immesso3. Di conseguenza, poiché la velocità di InteractionTracker è ora cambiata, la posizione di scala di riposo di destinazione per InteractionTracker ora cambia. TryUpdateScaleWithAdditionalVelocity 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 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.

centerPoint
Vector3 Vector3

float3

Nuovo punto centrale.

Restituisce

Int32

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)
  {
    // Adding velocity to the scale motion.
    _tracker.TryUpdateScaleWithAdditionalVelocity(3.0f, new Vector3(75f));
  }
}

Commenti

Se InteractionTracker si trova nello stato di interazione (modifica attiva dell'utente) e TryUpdateScaleWithAdditionalVelocity 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 correnteRisultato
IdleLe modifiche dello stato all'inertia e ai modificatori inertia vengono valutate con velocità richiesta come velocità iniziale
InterazioneRichiesta ignorata
InerziaL'inerzia viene riavviata (lo stato entra di nuovo inertia) e i modificatori inerti vengono valutati con velocità richiesta aggiunta alla velocità corrente
CustomAnimationL'animazione corrente si arresta e cambia lo stato inertia con modificatori inerti valutati usando la velocità richiesta come velocità iniziale

Si applica a