Bagikan melalui


InteractionTracker.TryUpdateScaleWithAdditionalVelocity Metode

Definisi

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.

centerPoint
Vector3 Vector3

float3

Titik tengah baru.

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

// 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 IniHasil
IdlePerubahan status pada inersia dan pengubah inertia dievaluasi dengan kecepatan yang diminta sebagai kecepatan awal
BerinteraksiPermintaan diabaikan
InersiaInersia dimulai ulang (status memasuki kembali inersia) dan pengubah inertia dievaluasi dengan kecepatan yang diminta ditambahkan ke kecepatan saat ini
CustomAnimationAnimasi saat ini berhenti dan status berubah menjadi inersia dengan pengubah inersia dievaluasi menggunakan kecepatan yang diminta sebagai kecepatan awal

Berlaku untuk