Freigeben über


InteractionTracker.TryUpdateScale(Single, Vector3) Methode

Definition

Versucht, die Skalierung auf den angegebenen Wert zu aktualisieren.

Die TryUpdateScale-Methode aktualisiert die Skalierungsposition von InteractionTracker auf die Skalierungsposition und den Mittelpunkt, die als Parameter angegeben sind. TryUpdateScale wird verwendet, um die Skalierung von InteractionTracker zu einem beliebigen Zeitpunkt deklarativ zu definieren (entweder zu Beginn, aus einem zustandsgesteuerten Ereignis usw.). TryUpdateScale kann entweder aus dem Zustand "Idle", "CustomAnimation" oder "Inertia" aufgerufen werden. Dadurch wird die Skalierungsposition von InteractionTracker an die definierte Position verschoben und in den Leerlaufzustand versetzt.

public:
 virtual int TryUpdateScale(float value, float3 centerPoint) = TryUpdateScale;
int TryUpdateScale(float const& value, float3 const& centerPoint);
public int TryUpdateScale(float value, Vector3 centerPoint);
function tryUpdateScale(value, centerPoint)
Public Function TryUpdateScale (value As Single, centerPoint As Vector3) As Integer

Parameter

value
Single

float

Der neue Wert für die Skalierung.

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 eingeschlossen. Diese IDs beginnen bei 1 und erhöhen sich mit jedem Try-Aufruf während der Lebensdauer der Anwendung.

Beispiele

void SetupInteractionTracker()
{
  // Setup InteractionTracker
  _tracker = InteractionTracker.Create(_compositor);
  _interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;
  _interactionSource.PositionYSourceMode = InteractionSourceMode.EnabledWithInertia;

  _tracker.InteractionSources.Add(_interactionSource);
  _tracker.PositionInertiaDecayRate = new Vector3(0.95f);

  // Update the scale position of InteractionTracker
  _tracker.TryUpdateScale(0.5f, new Vector3(50f));
}

Hinweise

Wenn InteractionTracker sich im interagierenden Zustand befindet (Benutzer bearbeitet aktiv) und TryUpdateScale aufgerufen wird, ignoriert das System diese Anforderung. Wenn dies eintritt, wird ein Ereignis ausgelöst, auf das lauscht werden kann. Wenn sie von einem der anderen Zustände gesendet wird, lauschen Sie auf das Ereignis, das für IdleStateEntered ausgelöst wurde, 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
IdleEigenschaftenaktualisierungen auf den angeforderten Wert, keine Zustandsänderungen
InteraktionAnforderung ignoriert
TrägheitEigenschaftenaktualisierungen auf den angeforderten Wert, Zustandsänderungen in Leerlauf
CustomAnimationEigenschaftenaktualisierungen auf den angeforderten Wert, Zustandsänderungen in Leerlauf

Gilt für: