Freigeben über


InteractionTracker.TryUpdateScaleWithAdditionalVelocity Methode

Definition

Versucht, die Skalierung durch Hinzufügen der angegebenen Geschwindigkeit zu aktualisieren.

Die TryUpdateScaleWithAdditionalVelocity-Methode fügt den eingegebenen Skalar hinzu, der der aktuellen Geschwindigkeit von InteractionTracker zusätzliche Geschwindigkeit darstellt, und verschiebt den Mittelpunkt zum eingegebenen Vector3. Da sich die Geschwindigkeit von InteractionTracker nun geändert hat, ändert sich nun die zielgenaue Restskalierungsposition für InteractionTracker . TryUpdateScaleWithAdditionalVelocity kann entweder im Leerlauf-, Inertia- oder CustomAnimation-Zustand aufgerufen werden. Dadurch wird entweder die Geschwindigkeit von InteractionTracker hinzugefügt oder aktualisiert und der Status "Inertia" eingegeben.

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

Parameter

velocityInPercentPerSecond
Single

float

Die Geschwindigkeit, die der Skalierung hinzugefügt werden soll.

centerPoint
Vector3 Vector3

float3

Der neue Mittelpunkt.

Gibt zurück

Int32

int

Gibt die Anforderungs-ID zurück. Bei Zustandsübergängen wird die Anforderung, die die Zustandsänderung verursacht hat, in die Argumente einbezogen. Diese IDs beginnen bei 1 und erhöhen sich mit jedem Try-Aufruf während der Lebensdauer der Anwendung.

Beispiele

// 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));
  }
}

Hinweise

Wenn Sich InteractionTracker im interagierenden Zustand befindet (benutzerseitig aktiv manipuliert), und TryUpdateScaleWithAdditionalVelocity aufgerufen wird, ignoriert das System diese Anforderung – ein Ereignis wird ausgelöst, wenn dies auftritt, auf das lauscht werden kann. Wenn sie aus einem der anderen Zustände gesendet wird, lauschen Sie auf das für InertiaStateEntered ausgelöste Ereignis, und überprüfen Sie die RequestId-Eigenschaft, die identifiziert, welche Anforderung den Rückruf ausgelöst hat.

Die folgende Tabelle fasst das erwartete Verhalten zusammen, wenn diese Methode in einem bestimmten Zustand aufgerufen wird:

Aktueller ZustandErgebnis
IdleZustandsänderungen an Denträgheitsmodifizierern werden mit angeforderter Geschwindigkeit als Anfangsgeschwindigkeit ausgewertet.
InteraktionAnforderung ignoriert
TrägheitDie Erträgheit wird neu gestartet (Zustand tritt wieder in die Erträgheit ein) und Die Inertia-Modifizierer werden mit der angeforderten Geschwindigkeit ausgewertet, die der aktuellen Geschwindigkeit hinzugefügt wird.
CustomAnimationAktuelle Animation stoppt und Zustandsänderungen an der Inertia mit Inertia-Modifizierern, die mithilfe der angeforderten Geschwindigkeit als Anfangsgeschwindigkeit ausgewertet werden

Gilt für: