InteractionTracker.TryUpdateScaleWithAdditionalVelocity 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 menambahkan kecepatan yang ditentukan.
Metode TryUpdateScaleWithAdditionalVelocity menambahkan skalar input yang mewakili kecepatan tambahan ke kecepatan InteractionTracker saat ini serta menggeser titik tengah ke Vector3 yang diinput. Akibatnya, karena kecepatan InteractionTracker sekarang telah berubah, posisi skala istirahat yang ditargetkan untuk InteractionTracker sekarang berubah. TryUpdateScaleWithAdditionalVelocity dapat dipanggil dari status Idle, Inertia, atau CustomAnimation - melakukannya akan menambahkan atau memperbarui kecepatan InteractionTracker dan memasuki status Inertia.
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
Kecepatan untuk ditambahkan ke skala.
Mengembalikan
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
// 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));
}
}
Keterangan
Jika InteractionTracker berada dalam Status Berinteraksi (pengguna secara aktif memanipulasi), dan TryUpdateScaleWithAdditionalVelocity dipanggil, sistem akan mengabaikan permintaan ini - peristiwa akan diaktifkan ketika ini terjadi yang dapat didengarkan. Jika dikirim dari salah satu status lain, dengarkan peristiwa yang diaktifkan untuk InertiaStateEntered dan periksa properti RequestId yang mengidentifikasi permintaan mana yang memicu panggilan balik.
Tabel di bawah ini meringkas perilaku yang diharapkan ketika metode ini dipanggil dalam keadaan tertentu:
Status Saat Ini | Hasil |
---|---|
Idle | Perubahan status pada inersia dan pengubah inertia dievaluasi dengan kecepatan yang diminta sebagai kecepatan awal |
Berinteraksi | Permintaan diabaikan |
Inersia | Inersia dimulai ulang (status memasuki kembali inersia) dan pengubah inertia dievaluasi dengan kecepatan yang diminta ditambahkan ke kecepatan saat ini |
CustomAnimation | Animasi saat ini berhenti dan status berubah menjadi inersia dengan pengubah inersia dievaluasi menggunakan kecepatan yang diminta sebagai kecepatan awal |