InteractionTracker Kelas

Definisi

Menangani logika input yang dapat digunakan sebagai target dalam ExpressionAnimations—biasanya untuk mendorong gerakan visual berdasarkan input.

public ref class InteractionTracker sealed : CompositionObject
/// [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 InteractionTracker final : CompositionObject
[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 InteractionTracker : CompositionObject
Public NotInheritable Class InteractionTracker
Inherits CompositionObject
Warisan
Object Platform::Object IInspectable CompositionObject InteractionTracker
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 SetupSimpleInteractionTracker(Visual viewportVisual, Visual contentVisual)
{
  //
  // Create the InteractionTracker and set its min/max position and scale.  These could 
  // also be bound to expressions.  Note: The scrollable area can be changed from either 
  // the min or the max position to facilitate content updates/virtualization.
  //

  _tracker = InteractionTracker.Create(_compositor);

  _tracker.MaxPosition = new Vector3(
    contentVisual.Size.X - viewportVisual.Size.X,
    contentVisual.Size.Y - viewportVisual.Size.Y,
    0.0f);

  _tracker.MinScale = 0.5f;
  _tracker.MaxScale = 4.0f;


  //
  // Configure the interaction source.  Enable input with inertia on all axes.
  //

  var interactionSource = VisualInteractionSource.Create(viewportVisual);

  interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;
  interactionSource.PositionYSourceMode = InteractionSourceMode.EnabledWithInertia;
  interactionSource.ScaleSourceMode = InteractionSourceMode.EnabledWithInertia;

  _tracker.InteractionSources.Add(interactionSource);


  //
  // Bind the InteractionTracker outputs to the contentVisual.
  //

  var positionExpression = _compositor.CreateExpressionAnimation("-tracker.Position");
  positionExpression.SetReferenceParameter("tracker", _tracker);

  contentVisual.StartAnimation("Offset", positionExpression);


  var scaleExpression = _compositor.CreateExpressionAnimation("Vector3(tracker.Scale, tracker.Scale, 1.0)");

  scaleExpression.SetReferenceParameter("tracker", _tracker);

  contentVisual.StartAnimation("Scale", scaleExpression);
}


Keterangan

InteractionTracker adalah mesin status yang dapat didorong oleh input aktif, atau dengan panggilan eksplisit untuk memperbarui atau menganimasikan propertinya. Kelas InteractionTracker dimaksudkan untuk memungkinkan input mendorong KomposisiAnimasiuntuk pengalaman interaksi kustom. Untuk membangun pengalaman interaktif, perlu untuk mengaitkan satu atau beberapa VisualInteractionSourcedengan InteractionTracker.

Skenario Umum

IneractionTracker dimaksudkan untuk digunakan untuk:

  • Menambahkan perilaku geser kustom, misalnya menggesekkan item ListView atau visual lain untuk menghapus/menutup
  • Transisi yang terkait dengan panning, misalnya menggeser ke transisi antara status "tertutup" dan "terbuka"
  • Animasi berbasis input efek, misalnya panning menyebabkan layar kabur
  • Kontrol Kustom, misalnya membuat implementasi kustom ScrollViewer dengan kecepatan panning yang berbeda atau kemampuan untuk dikontrol secara terprogram

Status dan Transisi InteractionTracker

InteractionTracker adalah mesin status dengan empat status:

  • Menganggur: Tidak ada input atau animasi aktif yang mengendarai InteractionTracker
  • Berinteraksi: Input pengguna aktif mendorong InteractionTracker
  • Inertia: Animasi aktif yang merupakan hasil dari input aktif atau kecepatan terprogram mendorong InteractionTracker
  • CustomAnimation: Properti InteractionTracker sedang dianimasikan secara langsung Diagram di bawah ini menunjukkan keempat status ini dan transisi status mana yang valid.
InteractionTracker menyatakan: Diam, Inertia, Berinteraksi, dan Animasi Kustom

Transisi status dapat terjadi karena tindakan pengguna (seperti memulai atau menghentikan manipulasi) atau karena panggilan eksplisit ke metode pada InteractionTracker. Setiap kali salah satu panggilan eksplisit ini dilakukan, requestID dikeluarkan untuk melacak apakah permintaan diabaikan atau menyebabkan perubahan status.

Hal penting yang perlu diperhatikan adalah bahwa InteractionTracker berjalan dalam proses yang berbeda dari aplikasi yang menggunakannya. Dengan demikian, semua panggilan metode pada InteractionTracker dan kelas terkait tidak sinkron, seperti halnya panggilan balik yang dikeluarkan melalui antarmuka IInteractionTrackerOwner.

Berikut ini menjelaskan apa yang memicu setiap perubahan status terjadi:

Mulai StatusStatus AkhirKemungkinan Pemicu
IdleBerinteraksiTransisi status ini hanya terjadi ketika manipulasi pengguna yang selaras dengan VisualInteractionSource yang terkait dengan InteractionTracker sedang dilakukan.
IdleInersiaTransisi status ini hanya terjadi ketika InteractionTracker berada dalam status Menganggur dan TryUpdatePositionWithVelocity atau TryUpdateScaleWithVelocity dipanggil.
IdleCustomAnimationTransisi status ini terjadi ketika InteractionTracker berada dalam status Menganggur dan TryUpdatePositionWithAnimation atau TryUpdateScaleWithAnimation dipanggil.
BerinteraksiInersiaTransisi status ini hanya terjadi ketika manipulasi pengguna yang telah dikirim ke InteractionTracker selesai. Ketika input aktif berakhir, InteractionTracker akan memasuki status Inertia, dan informasi seperti kecepatan rilis jari dan InertiaDecayRate akan menentukan perilaku selama status Inertia.
InersiaIdleTransisi status ini terjadi ketika fungsi yang digunakan untuk memperbarui posisi dan/atau skala tidak lagi menghasilkan perubahan. Dengan kata lain, posisi dan kecepatan skala telah keduanya sampai ke nol. Transisi status ini juga dapat terjadi jika panggilan dilakukan untuk memperbarui posisi atau skala secara eksplisit tanpa animasi atau kecepatan. Panggilan ini akan mengakhiri inertia dan transisi ke Diam dengan nilai properti yang diperbarui.
InersiaInersiaTransisi status ini terjadi ketika TryUpdatePositionWithVelocity atau TryUpdateScaleWithVelocity dipanggil ketika sudah dalam status Inertia. Memasukkan kembali Inertia akan menyebabkan semua properti InertiaStateEntered dievaluasi ulang.
InersiaCustomAnimationTransisi status ini terjadi ketika panggilan ke TryUpdatePositionWithAnimation atau TryUpdateScaleWithAnimation dilakukan saat berada di sate Inertia.
InersiaBerinteraksiTransisi status ini terjadi ketika input aktif dari pengguna yang melakukan hit-test ke VisualInteractionSource masuk sebelum Inertia selesai.
CustomAnimationIdleTransisi status ini terjadi ketika semua animasi yang diatur pada posisi InteractionTracker dan properti skala telah selesai.
CustomAnimationCustomAnimationTransisi status ini terjadi ketika panggilan ke TryUpdatePositionWithAnimation atau TryUpdateScaleWithAnimation dilakukan saat sudah dalam status CustomAnimation.
CustomAnimationInersiaTransisi status ini terjadi ketika panggilan ke TryUpdatePositionWithVelocity atau TryUpdateScaleWithVelocity dilakukan ketika dalam status CustomAnimation.
CustomAnimationBerinteraksiTransisi status ini terjadi ketika manipulasi pengguna yang melakukan hit-test ke VisualInteractionSource yang terkait dengan InteractionTracker sedang dilakukan.

Setiap transisi status yang dibuat oleh InteractionTracker akan menghasilkan panggilan balik yang menunjukkan status baru dengan arg yang menyertakan informasi yang relevan dengan status tersebut serta requestID untuk permintaan yang menyebabkan perubahan status. Manipulasi aktif dari pengguna akan menghasilkan requestID 0. Setiap panggilan Coba* akan mengeluarkan requestID yang dapat digunakan untuk melacak panggilan Coba* yang menyebabkan perubahan status. RequestID pertama selama masa pakai aplikasi akan menjadi 1, dan setiap panggilan berikutnya akan meningkatkan requestID, yang berarti masing-masing akan unik.

Posisi dan Skala InteractionTracker

Dua properti InteractionTracker yang paling umum digunakan adalah posisi dan skala. Setiap kali ada perubahan pada salah satu atau kedua properti ini, panggilan balik ValuesChanged akan dikirim dengan informasi tentang nilai saat ini. Karena sifat asinkron InteractionTracker, nilai yang diterima melalui panggilan balik InteractionTracker adalah cara terbaik untuk memperbarui logika aplikasi pada status saat ini dan nilai InteractionTracker dan propertinya.

Perbedaan penting tentang InteractionTracker adalah bahwa posisi dan skalanya tidak terkait dengan ruang koordinat visual tertentu. Pada saat InteractionTracker dibuat, posisinya akan memiliki subchannels x, y dan z dari vektor yang diatur ke 0, dan skala akan diatur ke 1. Hanya input aktif atau panggilan Coba* yang dapat menyebabkan nilai ini berubah. Nilai minimum dan maksimum untuk setiap properti akan menentukan rentang di mana nilai dapat berfluktuasi. Satu pengecualian adalah konsep "overpan" atau "overzoom", di mana manipulasi aktif dapat menyebabkan nilai sedikit melampaui minimum atau maksimum selama status Berinteraksi. Namun, ketika manipulasi selesai, nilai akan selalu berada dalam rentang yang ditetapkan. CustomAnimations akan selalu dijepit dalam rentang yang ditetapkan untuk posisi dan skala.

Konsep ruang koordinat InteractionTracker selaras dengan konsep koordinat layar karena gerakan atas/kiri meningkatkan nilai posisi dan gerakan bawah/kanan mengurangi nilai posisi. Akibatnya, sangat umum untuk meniadakan properti posisi saat melampirkannya ke Offset Visual.

Secara default, saluran posisi minimum dan maksimum adalah 0, dan nilai skala minimum dan maksimum adalah 1. Jika perilaku yang diinginkan untuk salah satu properti adalah memungkinkannya berubah di luar nilai awal ini, nilai minimum/maksimum perlu diperbarui.

InteractionTracker dan ExpressionAnimations

InteractionTracker memaparkan berbagai properti yang dapat digunakan dalam konteks ExpressionAnimationuntuk mendorong pembaruan ke properti yang dapat dianimasikan dari CompositionObject s. Karena sifat asinkron InteractionTracker, tidak disarankan untuk mengkueri properti ini secara langsung. Sebagai gantinya, Anda harus menggunakan properti yang dikirimkan dalam panggilan balik untuk mendorong logika aplikasi, dan untuk mereferensikan nilai dalam ExpressionAnimation untuk memperbarui properti yang dapat dianimasikan.

Seperti disebutkan di atas, dua properti yang paling umum digunakan dari InteractionTracker adalah properti Posisi dan Skala. Ini adalah properti yang akan diperbarui sebagai respons terhadap input pengguna dan panggilan Coba*. Menggunakan properti ini di dalam ExpressionAnimations akan menyebabkan properti animatable dari CompositionObjects diperbarui sebagai respons. Misalnya, properti InteractionTracker.position mungkin terkait dengan Offset Visual. Juga umum untuk menggunakan properti ini untuk mengisi CompositionPropertySet yang melacak kemajuan, yang pada gilirannya dapat mendorong serangkaian animasi terkoordinasi.

Mengarahkan Input ke InteractionTracker

Setelah dikonfigurasi, InteractionTracker masih memerlukan satu langkah terakhir untuk benar-benar menerima input sentuhan dan merespons. Silakan lihat dokumentasi di VisualInteractionSource. TryRedirectForManipulation untuk informasi selengkapnya tentang mengonfigurasi input masuk untuk mengalir ke InteractionTracker.

Riwayat versi

Versi Windows Versi SDK Nilai ditambahkan
1703 15063 ConfigureCenterPointXInertiaModifiers
1703 15063 ConfigureCenterPointYInertiaModifiers
1709 16299 MengonfigurasiVector2PositionInertiaModifiers
1809 17763 IsInertiafromimpulse
1809 17763 TryUpdatePosition(Vector3,InteractionTrackerClampingOption)
1809 17763 TryUpdatePositionBy(Vector3,InteractionTrackerClampingOption)
1903 18362 GetBindingMode
1903 18362 SetBindingMode
2004 19041 TryUpdatePosition(Vector3,InteractionTrackerClampingOption,InteractionTrackerPositionUpdateOption)

Properti

Comment

String yang akan dikaitkan dengan CompositionObject.

(Diperoleh dari CompositionObject)
Compositor

Compositor digunakan untuk membuat CompositionObject ini.

(Diperoleh dari CompositionObject)
Dispatcher

Dispatcher untuk CompositionObject.

(Diperoleh dari CompositionObject)
DispatcherQueue

Mendapatkan DispatcherQueue untuk CompostionObject.

(Diperoleh dari CompositionObject)
ImplicitAnimations

Kumpulan animasi implisit yang melekat pada obyek ini.

(Diperoleh dari CompositionObject)
InteractionSources

Kumpulan objek yang menghasilkan interaksi.

IsInertiaFromImpulse

Mendapatkan nilai yang menunjukkan apakah inertia adalah hasil dari dorongan.

IsPositionRoundingSuggested

Nilai Boolean menunjukkan apakah pembulatan posisi saat ini disarankan.

MaxPosition

Posisi maksimum yang diizinkan untuk InteractionTracker.

MaxScale

Skala maksimum untuk InteractionTracker.

MinPosition

Posisi minimum yang diizinkan untuk InteractionTracker.

MinScale

Skala minimum untuk InteractionTracker.

NaturalRestingPosition

Posisi istirahat alami untuk InteractionTracker.

Properti NaturalRestingPosition adalah posisi terhitung yang akan dihentikan InteractionTracker tanpa memperhitungkan batas atau pengubah inertia. Properti ini sering berguna untuk tindakan seperti virtualisasi dalam pengalaman gulir, di mana penting untuk mengetahui lokasi di mana InteractionTracker akan berhenti. Ada dua kasus penggunaan utama untuk menggunakan properti NaturalRestingPosition: Mengambil nilainya saat ini di argumen peristiwa InertiaStateEntered atau mereferensikan properti ini dalam ExpressionAnimation saat membuat hal-hal seperti pengubah inertia.

NaturalRestingScale

Skala istirahat alami untuk InteractionTracker.

Properti NaturalRestingScale adalah posisi skala terhitung yang akan dihentikan InteractionTracker tanpa memperhitungkan batas atau pengubah inertia. Properti ini sering berguna untuk tindakan seperti virtualisasi dalam pengalaman gulir, di mana penting untuk mengetahui lokasi di mana InteractionTracker akan berhenti. Ada dua kasus penggunaan utama untuk menggunakan properti NaturalRestingScale: Mengambil nilainya saat ini di args peristiwa InertiaStateEntered atau mereferensikan properti ini dalam ExpressionAnimation saat membuat hal-hal seperti pengubah inertia.

Owner

IInteractionTrackerOwner yang terkait dengan InteractionTracker.

Position

Posisi output dihitung oleh InteractionTracker. Posisi saat ini adalah nilai relatif. Selama status Diam dan CustomAnimation, nilai akan selalu berada di antara nilai yang ditentukan dalam properti MinPosition dan MaxPosition. Properti posisi InteractionTracker dapat berada di luar rentang ini selama keadaan Berinteraksi dan Inertia untuk menunjukkan pantulan atau perlawanan di batas.

Properti posisi InteractionTracker adalah Vector3 yang mewakili posisi dalam sumbu X, Y, dan Z. Saluran X dan Y adalah satu-satunya komponen yang akan diperbarui oleh InteractionTracker pada saat ini. Saluran Vektor3 ini tidak akan berfluktuasi di luar 0 (nilai default) jika MinPosition dan MaxPosition tidak diatur.

PositionInertiaDecayRate

Inertia membusuk tingkat untuk posisi. Rentangnya dari 0 hingga 1.

Properti PositionInertiaDecayRate mendefinisikan laju di mana InteractionTracker akan melambat ke pemberhentian ketika telah memasuki Inertia dan posisi berubah. Semakin dekat ke 1, Semakin cepat InteractionTracker akan melambat ke stop dan sebaliknya. Didefinisikan sebagai Vector3, setiap komponen mewakili tingkat pembuangan inertia untuk x, y, z yang sesuai.

PositionVelocityInPixelsPerSecond

Kecepatan saat ini diterapkan pada posisi.

Properti PositionVelocityInPixelsPerSecond mewakili kecepatan posisi InteractionTracker saat ini di Inertia. Ada dua kasus penggunaan utama untuk properti ini: Mengambil kecepatan posisi InteractionTracker tepat setelah interaksi terjadi atau mereferensikan kecepatan InteractionTracker terbaru dalam ExpressionAnimation.

Properties

Kumpulan properti yang terkait dengan CompositionObject.

(Diperoleh dari CompositionObject)
Scale

Skala output dihitung oleh InteractionTracker. Skala saat ini adalah nilai relatif yang bergantung pada nilai yang ditentukan dalam properti MinScale dan MaxScale .

Properti skala InteractionTracker adalah float yang mewakili skala di ruang koordinat InteractionTracker . Nilai ini akan dimulai pada 1 dan akan meningkat atau berkurang berdasarkan input aktif atau panggilan langsung untuk memperbarui atau menganimasikan properti. Properti skala ketika InteractionTracker berada dalam status Diam atau CustomAnimation tidak akan berubah dari 1 kecuali properti MinScale dan MaxScale , yang keduanya default ke 1, diperbarui. InteractionTracker Skala dapat sedikit melampaui rentang ini selama keadaan Berinteraksi dan Inertia untuk menunjukkan pantulan atau perlawanan di batas.

ScaleInertiaDecayRate

Inertia decay rate, untuk skala. Rentangnya dari 0 hingga 1.

Properti ScaleInertiaDecayRate mendefinisikan laju di mana InteractionTracker akan melambat ke pemberhentian ketika telah memasuki Inertia dan skala berubah. Semakin dekat ke 1, Semakin cepat InteractionTracker akan melambat ke stop dan sebaliknya. Tidak seperti PositionInertiaDecayRate yang didefinisikan sebagai Vector3, ScaleInertiaDecayRate didefinisikan sebagai float tunggal.

ScaleVelocityInPercentPerSecond

Tingkat perubahan untuk skala.

Properti ScaleVelocityInPercentPerSecond mewakili kecepatan skala InteractionTracker saat ini di Inertia. Mengambil kecepatan posisi InteractionTracker tepat setelah Interaksi terjadi atau mereferensikan kecepatan InteractionTracker terbaru dalam ExpressionAnimation.

Metode

AdjustPositionXIfGreaterThanThreshold(Single, Single)

Menyesuaikan posisi koordinat x jika lebih besar dari ambang batas yang ditentukan.

AdjustPositionYIfGreaterThanThreshold(Single, Single)

Menyesuaikan koordinat posisi y jika lebih besar dari ambang batas yang ditentukan.

Close()

Menutup CompositionObject dan merilis sumber daya sistem.

(Diperoleh dari CompositionObject)
ConfigureCenterPointXInertiaModifiers(IIterable<CompositionConditionalValue>)

Mengambil daftar yang diurutkan dari CompositionConditionalValue. Dalam bingkai, sementara pelacak berada di Inertia, CompositionConditionalValue pertama yang memiliki ". Kondisi" mengevaluasi ke true menggantikan nilai CenterPointX zoom yang digunakan pelacak dengan ". Nilai". Jika tidak ada yang mengevaluasi ke true, CenterPointX tidak digantikan bingkai tersebut.

ConfigureCenterPointYInertiaModifiers(IIterable<CompositionConditionalValue>)

Mengambil daftar yang diurutkan dari CompositionConditionalValue. Dalam bingkai, sementara pelacak berada di Inertia, CompositionConditionalValue pertama yang memiliki ". Kondisi" mengevaluasi ke true menggantikan nilai Zoom CenterPointY yang digunakan pelacak dengan ". Nilai". Jika tidak ada yang mengevaluasi ke true, CenterPointY tidak digantikan bingkai tersebut.

ConfigurePositionXInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Menerapkan koleksi objek InteractionTrackerInertiaModifier ke inertia x interactionTracker.

Metode ConfigurePositionXInertiaModifiers menerapkan individu atau koleksi InteractionTrackerInertiaModifierke komponen x InteractionTracker. Sistem akan mengevaluasi setiap properti kondisi pengubah X dalam urutan ditambahkan ke InteractionTracker. Dengan demikian, urutan yang dimiliki InteractionTrackerInertiaModifier dalam koleksi akan sama dengan urutan yang akan dievaluasi sistem.

ConfigurePositionYInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Menerapkan koleksi objek InteractionTrackerInertiaModifier ke inertia y dari InteractionTracker.

Metode ConfigurePositionYInertiaModifiers menerapkan individu atau koleksi InteractionTrackerInertiaModifierke komponen y InteractionTracker. Sistem akan mengevaluasi setiap properti kondisi pengubah Y dalam urutan ditambahkan ke InteractionTracker. Dengan demikian, urutan yang dimiliki InteractionTrackerInertiaModifier dalam koleksi akan sama dengan urutan yang akan dievaluasi sistem.

ConfigureScaleInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Menerapkan kumpulan objek InteractionTrackerInertiaModifier ke skala InteractionTracker.

Metode ConfigureScaleInertiaModifiers menerapkan individu atau koleksi InteractionTrackerInertiaModifierke komponen skala InteractionTracker. Sistem akan mengevaluasi setiap properti kondisi pengubah Skala dalam urutan ditambahkan ke InteractionTracker. Dengan demikian, urutan yang dimiliki InteractionTrackerInertiaModifier dalam koleksi akan sama dengan urutan yang akan dievaluasi sistem.

ConfigureVector2PositionInertiaModifiers(IIterable<InteractionTrackerVector2InertiaModifier>)

Menerapkan koleksi objek InteractionTrackerInertiaModifier ke posisi InteractionTracker.

ConnectAnimation(String, CompositionAnimation)

Menyambungkan dan animasi.

(Diperoleh dari CompositionObject)
Create(Compositor)

Membuat instans InteractionTracker.

Metode Buat ini akan membuat instans InteractionTracker. Setelah membuat InteractionTracker mengatur properti, melampirkan VisualInteractionSource, dan mereferensikan posisi atau skala dalam ExpressionAnimation, input aktif dapat mendorong ExpressionAnimation.

CreateWithOwner(Compositor, IInteractionTrackerOwner)

Membuat instans InteractionTracker dengan pemilik yang ditentukan.

Metode Buat ini akan membuat instans InteractionTracker dengan pemilik untuk mendaftar panggilan balik. Setelah membuat InteractionTracker mengatur properti, melampirkan VisualInteractionSource, dan mereferensikan posisi atau skala dalam ExpressionAnimation, input aktif dapat mendorong ExpressionAnimation. Membuat InteractionTracker dengan pemilik hanya diperlukan jika aplikasi perlu menerima panggilan balik mengenai status dan nilai InteractionTracker.

DisconnectAnimation(String)

Memutuskan sambungan animasi.

(Diperoleh dari CompositionObject)
Dispose()

Melakukan tugas yang ditentukan aplikasi yang terkait dengan membebaskan, merilis, atau mengatur ulang sumber daya yang tidak dikelola.

(Diperoleh dari CompositionObject)
GetBindingMode(InteractionTracker, InteractionTracker)

Mengambil mode sumbu pengikatan antara dua pelacak interaksi.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Menentukan properti yang dapat dianimasikan.

(Diperoleh dari CompositionObject)
SetBindingMode(InteractionTracker, InteractionTracker, InteractionBindingAxisModes)

Mengatur mode sumbu pengikatan antara dua pelacak interaksi.

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 CompositionAnimationGroup. 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)
TryUpdatePosition(Vector3)

Mencoba memperbarui posisi InteractionTracker.

Metode TryUpdatePosition memperbarui lokasi InteractionTracker ke posisi Vector3 yang ditentukan sebagai parameter. TryUpdatePosition digunakan untuk secara deklaratif menentukan posisi InteractionTracker kapan saja (baik pada awalnya, dari beberapa peristiwa yang dimasukkan status, dll.). TryUpdatePosition dapat dipanggil dari status Idle, CustomAnimation, atau Inertia - melakukannya akan memindahkan posisi InteractionTracker ke posisi yang ditentukan dan memasuki status menganggur.

TryUpdatePosition(Vector3, InteractionTrackerClampingOption)

Mencoba memperbarui posisi InteractionTracker menggunakan opsi penjepitan yang ditentukan.

TryUpdatePosition(Vector3, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption)

Mencoba memperbarui posisi InteractionTracker menggunakan opsi penjepitan yang ditentukan.

TryUpdatePositionBy(Vector3)

Mencoba menyesuaikan posisi InteractionTracker dengan jumlah yang ditentukan.

Metode TryUpdatePositionBy memperbarui lokasi InteractionTracker saat ini oleh delta Vector3 yang ditentukan sebagai parameter. Demikian pula dengan TryUpdatePosition, TryUpdatePositionBy digunakan untuk secara deklaratif memindahkan InteractionTracker oleh delta yang ditentukan tanpa perlu animasi atau Inertia. TryUpdatePositionBy dapat dipanggil dari status Idle, CustomAnimation, atau Inertia - melakukannya akan memindahkan posisi InteractionTracker oleh delta yang ditentukan dan memasuki status menganggur.

TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption)

Mencoba menyesuaikan posisi InteractionTracker dengan jumlah yang ditentukan menggunakan opsi penjepitan yang ditentukan.

TryUpdatePositionWithAdditionalVelocity(Vector3)

Mencoba memperbarui posisi InteractionTracker dengan menambahkan kecepatan.

Metode TryUpdatePositionWithAdditionalVelocity menambahkan input Vector3 yang mewakili kecepatan tambahan ke kecepatan InteractionTracker saat ini. Akibatnya, karena kecepatan InteractionTracker sekarang telah berubah, posisi istirahat yang ditargetkan untuk InteractionTracker sekarang berubah. TryUpdatePositionWithAdditionalVelocity dapat dipanggil dari status Idle, Inertia, atau CustomAnimation - melakukannya akan menambahkan atau memperbarui kecepatan InteractionTracker dan memasuki status Inertia.

TryUpdatePositionWithAnimation(CompositionAnimation)

Mencoba memperbarui posisi InteractionTracker dengan menerapkan animasi.

Metode TryUpdatePositionWithAnimation memperbarui posisi InteractionTracker berdasarkan input CompositionAnimation sebagai parameter. Metode ini digunakan dalam situasi di mana gerakan InteractionTracker perlu didefinisikan oleh animasi tertentu, alih-alih pengalaman Inertia tradisional. TryUpdatePositionWithAnimation dapat dipanggil dari status Idle atau Inertia – dengan demikian, posisi InteractionTracker akan didorong oleh animasi yang ditentukan dan memasuki status CustomAnimation.

TryUpdateScale(Single, Vector3)

Mencoba memperbarui skala ke nilai yang ditentukan.

Metode TryUpdateScale memperbarui lokasi skala InteractionTracker ke posisi Skala dan titik tengah yang ditentukan sebagai parameter. TryUpdateScale digunakan untuk secara deklaratif menentukan skala InteractionTracker kapan saja (baik pada awalnya, dari beberapa peristiwa yang dimasukkan status, dll.). TryUpdateScale dapat dipanggil dari status Idle, CustomAnimation, atau Inertia – dengan demikian akan memindahkan posisi skala InteractionTracker ke posisi yang ditentukan dan memasukkan status menganggur.

TryUpdateScaleWithAdditionalVelocity(Single, Vector3)

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.

TryUpdateScaleWithAnimation(CompositionAnimation, Vector3)

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, alih-alih pengalaman Inertia tradisional. TryUpdateScaleWithAnimation dapat dipanggil dari status Idle atau Inertia – dengan demikian, posisi InteractionTracker akan didorong oleh animasi yang ditentukan dan memasuki status CustomAnimation.

Berlaku untuk

Lihat juga