InteractionTracker.TryUpdatePositionWithAnimation Metode

Definisi

Mencoba memperbarui posisi InteractionTracker dengan menerapkan animasi.

Metode TryUpdatePositionWithAnimation memperbarui posisi InteractionTracker berdasarkan input CompositionAnimation sebagai parameter. Metode ini digunakan dalam situasi di mana gerakan InteractionTracker perlu didefinisikan oleh animasi tertentu, alih-alih pengalaman Inertia tradisional. TryUpdatePositionWithAnimation dapat dipanggil dari status Idle atau Inertia – dengan demikian, posisi InteractionTracker akan didorong oleh animasi yang ditentukan dan memasuki status CustomAnimation.

public:
 virtual int TryUpdatePositionWithAnimation(CompositionAnimation ^ animation) = TryUpdatePositionWithAnimation;
int TryUpdatePositionWithAnimation(CompositionAnimation const& animation);
public int TryUpdatePositionWithAnimation(CompositionAnimation animation);
function tryUpdatePositionWithAnimation(animation)
Public Function TryUpdatePositionWithAnimation (animation As CompositionAnimation) As Integer

Parameter

animation
CompositionAnimation

Animasi yang akan diterapkan ke InteractionTracker.

Mengembalikan

Int32

int

Mengembalikan ID permintaan. Pada transisi status, permintaan yang menyebabkan perubahan status akan disertakan dalam argumen. ID ini akan dimulai pada 1 dan meningkat dengan setiap panggilan percobaan selama masa pakai aplikasi.

Contoh

void CustomAnimationForIT(Vector3 newPosition)
{
  // Create a cubic bezier easing function that will be used in the KeyFrames
  CompositionEasingFunction cubicBezier = _compositor.CreateCubicBezierEasingFunction(new Vector2(.17f, .67f), new Vector2(1f, 1f);

  // Create the Vector3 KFA
  Vector3KeyFrameAnimation kfa = _compositor.CreateVector3KeyFrameAnimation();
  kfa.Duration = TimeSpan.FromSeconds(3);

  // Create the KeyFrames
  kfa.InsertKeyFrame(1.0f, newPosition, cubicBezier);

  // Update InteractionTracker position using this animation
  _tracker.TryUpdatePositionWithAnimation(kfa);
}

Keterangan

Saat membuat animasi yang ingin Anda perbarui posisi InteractionTracker , Anda tidak perlu memanggil StartAnimation. Sistem akan mengurus ini di belakang layar setelah animasi diteruskan melalui TryUpdatePositionWithAnimation.

Saat menentukan animasi yang akan menganimasikan posisi InteractionTracker , pastikan untuk menggunakan Vector3KeyFrameAnimation atau ExpressionAnimation yang diselesaikan ke Vector3.

Tabel di bawah ini meringkas perilaku yang diharapkan ketika metode ini dipanggil dalam keadaan tertentu:

Status Saat IniHasil
IdleAnimasi yang diminta dimulai pada properti yang diminta, perubahan status pada CustomAnimation
BerinteraksiPermintaan diabaikan
InersiaAnimasi yang diminta dimulai pada properti yang diminta, perubahan status pada CustomAnimation
CustomAnimationAnimasi saat ini berhenti dan animasi baru yang diminta dimulai pada properti yang diminta, status memasukkan kembali CustomAnimation

Berlaku untuk