Bagikan melalui


InteractionTrackerInertiaMotion Kelas

Definisi

ExpressionAnimation yang mendefinisikan gerakan InteractionTracker selama keadaan inertianya.

Kelas InteractionTrackerMotion berisi dua ExpressionAnimationyang mewakili persamaan turunan kedua dari posisi yang akan digunakan InteractionTracker untuk menentukan gerakan dari awal hingga akhir inertia ketika kondisi tertentu terpenuhi. Kelas InteractionTrackerMotion didefinisikan sebagai dua bagian: Pernyataan kondisional untuk menentukan kapan gerakan akan berlangsung dan persamaan yang menggambarkan gerakan tentang bagaimana InteractionTracker akan mencapai posisi istirahat terakhirnya. Gunakan kelas InteractionTrackerInertiaMotion saat Anda perlu menentukan gerakan yang disesuaikan (seperti gerakan pegas) untuk digunakan InteractionTracker saat dalam keadaan inertia.

public ref class InteractionTrackerInertiaMotion sealed : InteractionTrackerInertiaModifier
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InteractionTrackerInertiaMotion final : InteractionTrackerInertiaModifier
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTrackerInertiaMotion : InteractionTrackerInertiaModifier
Public NotInheritable Class InteractionTrackerInertiaMotion
Inherits InteractionTrackerInertiaModifier
Warisan
Object Platform::Object IInspectable CompositionObject InteractionTrackerInertiaModifier InteractionTrackerInertiaMotion
Atribut

Persyaratan Windows

Rangkaian perangkat
Windows 10 Anniversary Edition (diperkenalkan dalam 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v3.0)

Contoh

void CustomSpringInertiaMotion(float dampingCoefficient, 	float springStiffnessCoefficient)
{
  //
  // Set up our inertia modifiers to use our custom motion
  //
  InteractionTrackerInertiaMotion[] modifiers = 
  new InteractionTrackerInertiaMotion[1];

  var modifier1 = InteractionTrackerInertiaMotion.Create(_compositor);

  /*
  We create a custom spring motion for when the InteractionTracker passes the
  maximum boundary. 
  When we hit the boundary, the amount of oscillation is determined by the 	distance to the far end point, the spring stiffness and damping rate.
  */ 

  // Define the condition that the spring motion gets applied – when we pass the
  // maximum boundary
  modifier1.Condition = _compositor.CreateExpressionAnimation(
  "this.Target.NaturalRestingPosition.X > this.Target.MaxPosition.X");

  // Define the second derivative equation as a custom spring force motion
  // Equation = kx–cv where (k is spring constant, c is damping, x is displacement)
  modifier1.Motion = _compositor.CreateExpressionAnimation(
    "(-springStiffnessCoefficient * (this.Target.Position.X – this.Target.MaxPosition.X)) + " +
    "(-dampingCoefficient * target.PositionVelocityInPixelsPerSecond.X");

  modifier1.Motion.SetScalarParameter("springStiffnessCoefficient", springStiffnessCoefficient);
  modifier1.Motion.SetScalarParameter("dampingCoefficient", dampingCoefficient);

  modifiers[0] = modifier1;

  // Attach InertiaModifiers to the Y position component of InteractionTracker
  _tracker.ConfigurePositionYInertiaModifiers(modifiers);
}

Keterangan

Saat membangun ExpressionAnimation untuk komponen gerakan InteractionTrackerInertiaMotion, ekspresi digambarkan sebagai persamaan turunan kedua. Misalnya, Dalam cuplikan kode di atas, kami menggunakan persamaan dasar untuk gerakan Spring Force dengan peredam.

Saat melampirkan pengubah InteractionTrackerInertiaMotion ke InteractionTracker, Anda mengonfigurasinya ke Posisi atau Skala X/Y.

ExpressionAnimation yang menentukan properti kondisi hanya dievaluasi sekali saat InteractionTracker memasuki Inertia (alias ketika interaksi selesai seperti jari dilepaskan). Jika kondisi mengevaluasi ke true, Ekspresi InertiaMotion akan dievaluasi setiap bingkai untuk sisa Inertia, bahkan jika ekspresi kondisi secara teknis tidak lagi benar.

Pengubah InteractionTrackerInertiaMotion mengubah persamaan yang digunakan InteractionTracker untuk menghitung posisinya. Dengan demikian, posisi istirahat akhir ditentukan oleh sifat persamaan itu sendiri. Jika Anda memerlukan InteractionTracker untuk berhenti di lokasi tertentu, gunakan pengubah InteractionTrackerInertiaRestingValue .

Properti

Comment

String yang akan dikaitkan dengan CompositionObject.

(Diperoleh dari CompositionObject)
Compositor

Compositor digunakan untuk membuat CompositionObject ini.

(Diperoleh dari CompositionObject)
Condition

ExpressionAnimation yang menjelaskan kapan pengubah harus diterapkan.

Properti Kondisi adalah ExpressionAnimation yang menentukan kapan persamaan gerakan yang ditentukan digunakan oleh InteractionTracker selama Inertia. Ekspresi ini dievaluasi sekali setelah interaksi terjadi dan harus diselesaikan ke jenis Bool, jika tidak, kesalahan akan dilemparkan ketika kondisi dievaluasi. Lihat halaman kelas ExpressionAnimation untuk detail selengkapnya tentang membangun ekspresi.

Dispatcher

Dispatcher untuk CompositionObject.

(Diperoleh dari CompositionObject)
DispatcherQueue

Mendapatkan DispatcherQueue untuk CompostionObject.

(Diperoleh dari CompositionObject)
ImplicitAnimations

Kumpulan animasi implisit yang melekat pada objek ini.

(Diperoleh dari CompositionObject)
Motion

ExpressionAnimation yang menjelaskan gerakan yang dimodifikasi untuk InteractionTracker jika ekspresi dalam properti Kondisi benar.

Properti Gerakan adalah ExpressionAnimation yang menjelaskan gerakan yang akan digunakan InteractionTracker selama Inertia ketika kondisi yang sesuai terpenuhi. Ekspresi akan dievaluasi setiap bingkai saat InteractionTracker berada di Inertia dan harus mengatasi jenis Float, jika tidak, kesalahan akan dilemparkan ketika persamaan dievaluasi. Lihat halaman kelas ExpressionAnimation untuk detail selengkapnya tentang membangun ekspresi.

Properties

Kumpulan properti yang terkait dengan CompositionObject.

(Diperoleh dari CompositionObject)

Metode

Close()

Menutup CompositionObject dan merilis sumber daya sistem.

(Diperoleh dari CompositionObject)
ConnectAnimation(String, CompositionAnimation)

Menyambungkan dan animasi.

(Diperoleh dari CompositionObject)
Create(Compositor)

Membuat instans InteractionTrackerInertiaMotion.

DisconnectAnimation(String)

Memutuskan sambungan animasi.

(Diperoleh dari CompositionObject)
Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, melepaskan, atau mereset sumber daya yang tidak terkelola.

(Diperoleh dari CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

Menentukan properti yang dapat dianimasikan.

(Diperoleh dari CompositionObject)
StartAnimation(String, CompositionAnimation)

Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi.

(Diperoleh dari CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi.

(Diperoleh dari CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

Memulai grup animasi.

Metode StartAnimationGroup pada CompositionObject memungkinkan Anda memulai KomposisiAnimationGroup. Semua animasi dalam grup akan dimulai pada saat yang sama pada objek.

(Diperoleh dari CompositionObject)
StopAnimation(String)

Memutuskan sambungan animasi dari properti yang ditentukan dan menghentikan animasi.

(Diperoleh dari CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

Menghentikan grup animasi.

(Diperoleh dari CompositionObject)
TryGetAnimationController(String)

Mengembalikan AnimationController untuk animasi yang berjalan pada properti yang ditentukan.

(Diperoleh dari CompositionObject)

Berlaku untuk

Lihat juga