InteractionTrackerInertiaMotion Kelas
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.
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, AnimationController) |
Menyambungkan animasi dengan properti objek yang ditentukan dan memulai animasi. (Diperoleh dari CompositionObject) |
StartAnimation(String, CompositionAnimation) |
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) |