InteractionTracker.NaturalRestingPosition Properti
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.
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 dalam args peristiwa InertiaStateEntered atau merujuk properti ini dalam ExpressionAnimation saat membuat hal-hal seperti pengubah inertia.
public:
property float3 NaturalRestingPosition { float3 get(); };
float3 NaturalRestingPosition();
public Vector3 NaturalRestingPosition { get; }
var vector3 = interactionTracker.naturalRestingPosition;
Public ReadOnly Property NaturalRestingPosition As Vector3
Nilai Properti
Posisi istirahat alami untuk InteractionTracker.
Contoh
// Listen for the InertiaStateEntered event, so can grab NaturalRestingPosition value.
public void InertiaStateEntered(InteractionTracker sender, InteractionTrackerInertiaStateEnteredArgs args)
{
// Grab the NaturalRestingPosition out of the args when the event is fired. Now have access to calculated Natural Rest spot
Vector3 naturalRest = args.NaturalRestingPosition;
}
// Reference the NaturalRestingPosition property in an expression for things like SnapPoints
void CreateBasicSnapPoint(float highBound, float lowBound)
{
var snappoint = InteractionTrackerInertiaRestingValue.Create(_compositor);
// Reference the NaturalRestingPosition of InteractionTracker in an ExpressionAnimation for conditional portion of an InertiaModifier.
snappoint.Condition = _compositor.CreateExpressionAnimation("this.target.NaturalRestingPosition.Y >= lowBound && this.target.NaturalRestingPosition.Y < highBound ");
snappoint.Condition.SetScalarParameter("lowBound", lowBound);
snappoint.Condition.SetScalarParameter("highBound", highBound);
// Snap to the highbound if condition met
snappoint.RestingValue = _compositor.CreateExpressionAnimation("highBound");
snappoint.RestingValue.SetScalarParameter("highBound", highBound);
yInertiaModifier.Add(snappoint);
_tracker.ConfigurePositionYInertiaModifiers(yInertiaModifier);
}
Keterangan
Dua kasus penggunaan yang dijelaskan dalam cuplikan kode di atas adalah penggunaan utama properti NaturalRestingPosition. Meskipun Anda mungkin tergoda untuk mereferensikan properti ini dari InteractionTracker seperti hubungan object.property lainnya, Anda tidak akan selalu mendapatkan nilai terbaru. Disarankan dalam situasi ini bahwa Anda mendengarkan peristiwa InertiaStateEntered dan mengambil nilai terbaru dari argumen.