InteractionTracker.TryUpdateScaleWithAnimation Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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.
Mengembalikan
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 Ini | Hasil |
---|---|
Idle | Animasi yang diminta dimulai pada properti yang diminta, perubahan status ke CustomAnimation |
Berinteraksi | Permintaan diabaikan |
Inersia | Animasi yang diminta dimulai pada properti yang diminta, perubahan status ke CustomAnimation |
CustomAnimation | Animasi saat ini berhenti dan animasi baru yang diminta dimulai pada properti yang diminta, status memasuki kembali CustomAnimation |