Bagikan melalui


InteractionTracker.TryUpdateScaleWithAnimation Metode

Definisi

Mencoba memperbarui skala dengan animasi yang ditentukan.

Metode TryUpdateScaleWithAnimation memperbarui posisi skala InteractionTracker berdasarkan KomposisiAnimasi yang dimasukkan sebagai parameter. Metode ini digunakan dalam situasi di mana gerakan InteractionTracker perlu didefinisikan oleh animasi tertentu, bukan pengalaman Inertia tradisional. TryUpdateScaleWithAnimation dapat dipanggil dari status Idle atau Inertia - melakukannya, posisi InteractionTracker akan didorong oleh animasi yang ditentukan dan memasuki status CustomAnimation.

public:
 virtual int TryUpdateScaleWithAnimation(CompositionAnimation ^ animation, float3 centerPoint) = TryUpdateScaleWithAnimation;
int TryUpdateScaleWithAnimation(CompositionAnimation const& animation, float3 const& centerPoint);
public int TryUpdateScaleWithAnimation(CompositionAnimation animation, Vector3 centerPoint);
function tryUpdateScaleWithAnimation(animation, centerPoint)
Public Function TryUpdateScaleWithAnimation (animation As CompositionAnimation, centerPoint As Vector3) As Integer

Parameter

animation
CompositionAnimation

Animasi yang akan diterapkan ke skala.

centerPoint
Vector3 Vector3

float3

Titik tengah baru.

Mengembalikan

Int32

int

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

Contoh

void CustomAnimationForIT(float newScale, Vector3 newCenterPoint)
{
  // 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
  ScalarKeyFrameAnimation kfa = _compositor.CreateScalarKeyFrameAnimation();
  kfa.Duration = TimeSpan.FromSeconds(3);

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

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

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 TryUpdateScaleWithAnimation.

Saat menentukan animasi yang akan menganimasikan posisi skala InteractionTracker , pastikan untuk menggunakan ScalarKeyFrameAnimation atau ExpressionAnimation yang diselesaikan ke Skalar.

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

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

Berlaku untuk