InteractionTracker Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Gestisce la logica di input che può essere usata come destinazioni in ExpressionAnimations, in genere per guidare il movimento degli oggetti visivi in base all'input.
public ref class InteractionTracker sealed : CompositionObject
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.LiftedContract, 65536)]
/// [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.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
class InteractionTracker final : CompositionObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTracker : CompositionObject
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public sealed class InteractionTracker : CompositionObject
Public NotInheritable Class InteractionTracker
Inherits CompositionObject
- Ereditarietà
- Attributi
Esempio
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);
}
Commenti
InteractionTracker è una macchina a stati che può essere guidata dall'input attivo o da chiamate esplicite per aggiornare o animare le relative proprietà. La classe InteractionTracker
Scenari comuni
IneractionTracker deve essere usato per:
- Aggiunta di un comportamento di scorrimento rapido personalizzato, ad esempio scorrimento rapido degli elementi listView o di altri oggetti visivi da eliminare/ignorare
- Transizioni associate alla panoramica, ad esempio scorrere verso la transizione tra stati "chiusi" e "aperti"
- L'animazione guidata dall'input di un effetto, ad esempio la panoramica fa sì che lo schermo sfuosca
- Controlli personalizzati, ad esempio la creazione di un'implementazione personalizzata di ScrollViewer con velocità di panoramica diverse o la possibilità di essere controllati a livello di codice
Stati e transizioni di InteractionTracker
InteractionTracker è una macchina a stati con quattro stati:
- Inattività: nessun input attivo o animazioni che guidano InteractionTracker
- Interazione: l'input dell'utente attivo sta guidando InteractionTracker
- Inerzia: le animazioni attive che sono il risultato dell'input attivo o della velocità a livello di codice stanno guidando InteractionTracker
- CustomAnimation: una proprietà di InteractionTracker viene animata direttamente. Il diagramma seguente mostra questi quattro stati e quali transizioni di stato sono valide.

Le transizioni di stato possono verificarsi a causa di azioni dell'utente (ad esempio l'avvio o l'arresto di una manipolazione) o a causa di chiamate esplicite ai metodi in InteractionTracker. Ogni volta che viene effettuata una di queste chiamate esplicite, viene emesso un requestID per tenere traccia se la richiesta viene ignorata o causa una modifica dello stato.
Un aspetto importante da notare è che InteractionTracker è in esecuzione in un processo diverso rispetto all'applicazione che lo usa. Di conseguenza, tutte le chiamate di metodo su InteractionTracker e le classi associate sono asincrone, così come sono i callback emessi tramite l'interfaccia IInteractionTrackerOwner.
Di seguito viene descritto cosa attiva ogni modifica dello stato in modo che si verifichi:
Inizio stato | Stato finale | Possibili trigger |
---|---|---|
Ozioso | Interagente | Questa transizione di stato si verifica solo quando viene eseguita una manipolazione dell'utente allineata a visualInteractionSource associata a InteractionTracker. |
Ozioso | Inerzia | Questa transizione di stato si verifica solo quando interactionTracker si trova nello stato Inattiva e viene chiamato TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity. |
Ozioso | CustomAnimation | Questa transizione di stato si verifica quando InteractionTracker si trova nello stato Inattiva e viene chiamato TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation. |
Interagente | Inerzia | Questa transizione di stato si verifica solo quando viene completata una manipolazione dell'utente inviata a InteractionTracker. Al termine dell'input attivo, InteractionTracker entrerà nello stato Inerzia e informazioni quali la velocità di rilascio del dito e InertiaDecayRate determinerà il comportamento durante lo stato inerziale. |
Inerzia | Ozioso | Questa transizione di stato si verifica quando le funzioni usate per aggiornare la posizione e/o la scala non comportano più modifiche. In altre parole, la velocità di posizione e scala ha ottenuto entrambi a zero. Questa transizione di stato può verificarsi anche se viene effettuata una chiamata per aggiornare in modo esplicito la posizione o la scala senza animazione o velocità. Queste chiamate termineranno l'inerzia e passeranno a Inattiva con i valori aggiornati delle proprietà. |
Inerzia | Inerzia | Questa transizione di stato si verifica quando si chiama TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity quando si trova già nello stato Diertia. Se si immette nuovamente l'inerzia, tutte le proprietà InertiaStateEntered verranno rivalutate. |
Inerzia | CustomAnimation | Questa transizione di stato si verifica quando viene eseguita una chiamata a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation durante lo sate Inertia. |
Inerzia | Interagente | Questa transizione di stato si verifica quando viene eseguito l'input attivo dall'utente che esegue hit test a VisualInteractionSource prima del completamento dell'inerzia. |
CustomAnimation | Ozioso | Questa transizione di stato si verifica quando tutte le animazioni impostate sulla posizione e le proprietà di scala di InteractionTracker sono state completate. |
CustomAnimation | CustomAnimation | Questa transizione di stato si verifica quando viene eseguita una chiamata a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation mentre è già nello stato CustomAnimation. |
CustomAnimation | Inerzia | Questa transizione di stato si verifica quando viene eseguita una chiamata a TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity quando si trova nello stato CustomAnimation. |
CustomAnimation | Interagente | Questa transizione di stato si verifica quando viene eseguita una manipolazione dell'utente che esegue l'hit test a un oggetto VisualInteractionSource associato a InteractionTracker. |
Qualsiasi transizione di stato eseguita da InteractionTracker genererà un callback che indica il nuovo stato con argomenti che includono informazioni rilevanti per tale stato, nonché l'ID richiesta per la richiesta che ha causato la modifica dello stato. Le manipolazioni attive dell'utente genereranno un requestID pari a 0. Qualsiasi chiamata Try* genererà un ID richiesta che può essere usato per tenere traccia della chiamata Try* che ha causato la modifica dello stato. Il primo requestID durante la durata dell'applicazione sarà 1 e ogni chiamata successiva incrementerà il valore requestID, ovvero ogni elemento sarà univoco.
Posizione e scalabilità di InteractionTracker
Le due proprietà usate più comunemente di InteractionTracker sono la posizione e la scala. Ogni volta che viene apportata una modifica a una o entrambe queste proprietà, il callback ValuesChanged verrà inviato con informazioni sui valori correnti. A causa della natura asincrona di InteractionTracker, i valori ricevuti tramite callback interactionTracker sono il modo migliore per aggiornare la logica dell'applicazione sullo stato corrente e i valori di InteractionTracker e le relative proprietà.
Una distinzione importante per InteractionTracker è che la posizione e la scala non sono associate allo spazio delle coordinate di un particolare oggetto visivo. Al momento della creazione di InteractionTracker, la sua posizione avrà i sottocanali x, y e z del vettore impostato su 0 e la scala verrà impostata su 1. Solo le chiamate di input attive o Try* possono causare la modifica di questi valori. I valori minimo e massimo per ogni proprietà determinano l'intervallo in cui i valori possono variare. L'unica eccezione è il concetto di "overpan" o "overzoom", in cui una manipolazione attiva può causare un lieve superamento del valore minimo o massimo durante lo stato di interazione. Al termine della manipolazione, tuttavia, i valori verranno sempre riposato all'interno dell'intervallo impostato. CustomAnimations verrà sempre bloccato all'interno degli intervalli impostati per la posizione e la scala.
Il concetto di spazio delle coordinate interactionTracker si allinea al concetto di coordinate dello schermo in quanto un movimento su/sinistro aumenta il valore della posizione e un movimento verso il basso/destro diminuisce il valore di posizione. Di conseguenza, è molto comune negare la proprietà position quando la associa a offset di un oggetto visivo.
Per impostazione predefinita, i canali di posizione minima e massima sono tutti 0 e i valori di scala minima e massima sono 1. Se il comportamento desiderato per una delle proprietà consiste nel consentire la modifica al di fuori di questi valori iniziali, è necessario aggiornare i valori minimi/massimi.
InteractionTracker ed ExpressionAnimations
InteractionTracker espone un'ampia gamma di proprietà che possono essere usate nel contesto di ExpressionAnimations per eseguire aggiornamenti alle proprietà animabili di CompositionObject s. A causa della natura asincrona di InteractionTracker, non è consigliabile eseguire direttamente query su queste proprietà. È invece consigliabile usare le proprietà recapitate nei callback per guidare la logica dell'applicazione e fare riferimento ai valori in un ExpressionAnimation per aggiornare le proprietà animabili.
Come accennato in precedenza, le due proprietà usate più comunemente di InteractionTracker sono le proprietà Position e Scale. Si tratta delle proprietà che verranno aggiornate in risposta all'input dell'utente e alle chiamate Try*. L'uso di queste proprietà all'interno di ExpressionAnimations causerà l'aggiornamento delle proprietà animabili di CompositionObjects in risposta. Ad esempio, la proprietà InteractionTracker.position può essere associata all'offset di un oggetto visivo. È anche comune usare queste proprietà per popolare un CompositionPropertySet che tiene traccia dello stato di avanzamento, che a sua volta può guidare una serie di animazioni coordinate.
Indirizzamento dell'input a InteractionTracker
Dopo la configurazione, InteractionTracker richiede comunque un ultimo passaggio per ricevere effettivamente input tocco e rispondere. Vedere la documentazione su VisualInteractionSource.TryRedirectForManipulation per altre informazioni sulla configurazione dell'input in ingresso per il flusso in InteractionTracker.
Proprietà
Comment |
Stringa da associare all'oggetto CompositionObject. (Ereditato da CompositionObject) |
Compositor |
Il compositor |
DispatcherQueue |
Ottiene dispatcherQueue per CompositionObject. (Ereditato da CompositionObject) |
ImplicitAnimations |
Raccolta di animazioni implicite associate a questo oggetto. (Ereditato da CompositionObject) |
InteractionSources |
Raccolta di oggetti che generano interazioni. |
IsInertiaFromImpulse |
Ottiene un valore che indica se l'inerzia è il risultato di un impulso. |
IsPositionRoundingSuggested |
Valore booleano che indica se l'arrotondamento della posizione è attualmente consigliato. |
MaxPosition |
Posizione massima consentita per il InteractionTracker. |
MaxScale |
Scala massima per il InteractionTracker. |
MinPosition |
Posizione minima consentita per il InteractionTracker. |
MinScale |
Scala minima per il InteractionTracker. |
NaturalRestingPosition |
Posizione di riposo naturale per il InteractionTracker. La proprietà NaturalRestingPosition è la posizione calcolata che InteractionTracker verrà interrotta senza tenere conto dei limiti o modificatori di inerzia. Questa proprietà è spesso utile per azioni come la virtualizzazione in un'esperienza di scorrimento, in cui è importante conoscere la posizione in cui InteractionTracker si arresterà. Esistono due casi d'uso principali per l'uso della proprietà NaturalRestingPosition: recupero del relativo valore corrente nel InertiaStateEntered argomenti evento o riferimento a questa proprietà in un ExpressionAnimation durante la creazione di elementi come modificatori di inerzia. |
NaturalRestingScale |
Scala di riposo naturale per il InteractionTracker. La proprietà NaturalRestingScale è la posizione di scala calcolata che InteractionTracker verrà interrotta senza tenere conto dei limiti o modificatori di inerzia. Questa proprietà è spesso utile per azioni come la virtualizzazione in un'esperienza di scorrimento, in cui è importante conoscere la posizione in cui InteractionTracker si arresterà. Esistono due casi d'uso principali per l'uso della proprietà NaturalRestingScale: recupero del relativo valore corrente nel InertiaStateEntered argomenti evento o riferimento a questa proprietà in un ExpressionAnimation durante la creazione di elementi come modificatori di inerzia. |
Owner |
Il IInteractionTrackerOwner |
Position |
Posizione di output calcolata dal InteractionTracker. La posizione corrente è un valore relativo. Durante gli stati Idle e CustomAnimation, sarà sempre tra i valori specificati nelle proprietà MinPosition e MaxPosition. La proprietà di posizione di InteractionTracker può uscire da questo intervallo durante gli stati Interazione e inerzia per mostrare un rimbalzo o una resistenza al limite. La proprietà position di InteractionTracker è un Vector3 che rappresenta la posizione nell'asse X, Y e Z. I canali X e Y sono gli unici componenti che verranno aggiornati da InteractionTracker a questo punto. I canali di questo Vector3 non fluttuano al di fuori di 0 (valore predefinito) se minPosition e MaxPosition non sono impostati. |
PositionInertiaDecayRate |
Velocità di decadimento inerziale per la posizione. L'intervallo è compreso tra 0 e 1. La proprietà PositionInertiaDecayRate definisce la frequenza con cui InteractionTracker rallenta a un arresto quando è entrato in inerzia e la posizione cambia. Più vicino a 1, più veloce InteractionTracker rallenta a una fermata e viceversa. Definito come Vector3, ogni componente rappresenta di conseguenza la velocità di decadimento dell'inerzia per x, y, z. |
PositionVelocityInPixelsPerSecond |
Velocità attualmente applicata alla posizione. La proprietà PositionVelocityInPixelsPerSecond rappresenta la velocità di posizione corrente di InteractionTracker mentre si trova in inerzia. Esistono due casi d'uso principali per questa proprietà: recupero della velocità di posizione di InteractionTracker subito dopo che si è verificata un'interazione o fare riferimento alla velocità più recente di InteractionTracker in un ExpressionAnimation. |
Properties |
Raccolta di proprietà associate al CompositionObject. (Ereditato da CompositionObject) |
Scale |
Scala di output calcolata dal InteractionTracker. La scala corrente è un valore relativo che dipende dai valori specificati nelle proprietà La proprietà scale dell'InteractionTracker è un oggetto float che rappresenta la scala nello spazio delle coordinate di InteractionTracker. Questo valore inizierà a 1 e aumenterà o ridurrà in base all'input attivo o alle chiamate dirette per aggiornare o animare la proprietà. La proprietà scale quando il InteractionTracker |
ScaleInertiaDecayRate |
Velocità di decadimento dell'inerzia, per la scala. L'intervallo è compreso tra 0 e 1. La proprietà ScaleInertiaDecayRate definisce la frequenza con cui InteractionTracker rallenta a un arresto quando è entrato in inerzia e la scala cambia. Più vicino a 1, più veloce InteractionTracker rallenta a una fermata e viceversa. A differenza del PositionInertiaDecayRate definito come Vector3, ScaleInertiaDecayRate viene definito come un singolo float. |
ScaleVelocityInPercentPerSecond |
Frequenza di modifica per la scala. La proprietà ScaleVelocityInPercentPerSecond rappresenta la velocità di scala corrente di InteractionTracker durante l'inerzia. Afferrare la velocità di posizione di InteractionTracker subito dopo che si è verificata un'interazione o fare riferimento alla velocità più recente di InteractionTracker in un ExpressionAnimation. |
Metodi
AdjustPositionXIfGreaterThanThreshold(Single, Single) |
Regola la coordinata x della posizione se è maggiore della soglia specificata. |
AdjustPositionYIfGreaterThanThreshold(Single, Single) |
Regola la coordinata y della posizione se è maggiore della soglia specificata. |
Close() |
Chiude CompositionObject e rilascia le risorse di sistema. (Ereditato da CompositionObject) |
ConfigureCenterPointXInertiaModifiers(IIterable<CompositionConditionalValue>) |
Accetta un elenco ordinato di CompositionConditionalValue. In un frame, mentre il tracciatore si trova in Inerzia, il primo CompositionConditionalValue ad avere il relativo ". Condizione" restituisce true sostituisce il valore di Zoom CenterPointX usato dal tracker con il relativo ". Valore". Se nessuno restituisce true, CenterPointX non viene sostituito da tale frame. |
ConfigureCenterPointYInertiaModifiers(IIterable<CompositionConditionalValue>) |
Accetta un elenco ordinato di CompositionConditionalValue. In un frame, mentre il tracciatore si trova in Inerzia, il primo CompositionConditionalValue ad avere il relativo ". Condizione" restituisce true sostituisce il valore di zoom CenterPointY usato dal tracker con il relativo ". Valore". Se nessuno restituisce true, CenterPointY non viene sostituito da tale frame. |
ConfigurePositionXInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
Applica un insieme di oggetti InteractionTrackerInertiaModifier alla x inerzia di un InteractionTracker. Il metodo ConfigurePositionXInertiaModifiers applica un singolo oggetto o una raccolta di InteractionTrackerInertiaModifiers al componente x di InteractionTracker. Il sistema valuterà ogni proprietà della condizione del modificatore X nell'ordine in cui sono stati aggiunti a InteractionTracker. Pertanto, l'ordine di InteractionTrackerInertiaModifier presente nella raccolta sarà lo stesso ordine con cui il sistema valuterà. |
ConfigurePositionYInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
Applica un insieme di oggetti InteractionTrackerInertiaModifier all'inerzia y di un InteractionTracker. Il metodo ConfigurePositionYInertiaModifiers applica un singolo oggetto o una raccolta di InteractionTrackerInertiaModifieral componente y di InteractionTracker. Il sistema valuterà ogni proprietà della condizione del modificatore Y nell'ordine in cui sono stati aggiunti a InteractionTracker. Pertanto, l'ordine di InteractionTrackerInertiaModifier presente nella raccolta sarà lo stesso ordine con cui il sistema valuterà. |
ConfigureScaleInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
Applica una raccolta di oggetti InteractionTrackerInertiaModifier alla scala di un InteractionTracker. Il metodo ConfigureScaleInertiaModifiers applica una singola o una raccolta di InteractionTrackerInertiaModifieral componente di scala di InteractionTracker. Il sistema valuterà ogni proprietà della condizione del modificatore scale nell'ordine in cui sono stati aggiunti a InteractionTracker. Pertanto, l'ordine di InteractionTrackerInertiaModifier presente nella raccolta sarà lo stesso ordine con cui il sistema valuterà. |
ConfigureVector2PositionInertiaModifiers(IIterable<InteractionTrackerVector2InertiaModifier>) |
Applica un insieme di oggetti InteractionTrackerInertiaModifier alla posizione di un InteractionTracker. |
Create(Compositor) |
Crea un'istanza di InteractionTracker. Questo metodo Create creerà un'istanza di interactionTracker . Dopo aver creato il InteractionTracker l'impostazione delle proprietà, l'associazione di un VisualInteractionSourcee il riferimento alla posizione o alla scala in un ExpressionAnimation, l'input attivo può guidare l'ExpressionAnimation. |
CreateWithOwner(Compositor, IInteractionTrackerOwner) |
Crea un'istanza di InteractionTracker con il proprietario specificato. Questo metodo Create creerà un'istanza di un InteractionTracker con un proprietario per la registrazione per i callback. Dopo aver creato il InteractionTracker l'impostazione delle proprietà, l'associazione di un VisualInteractionSourcee il riferimento alla posizione o alla scala in un ExpressionAnimation, l'input attivo può guidare l'ExpressionAnimation. La creazione del InteractionTracker con un proprietario è necessaria solo se l'applicazione deve ricevere callback relativi allo stato e ai valori del InteractionTracker. |
Dispose() |
Esegue attività definite dall'applicazione associate alla liberazione, al rilascio o alla reimpostazione di risorse non gestite. (Ereditato da CompositionObject) |
GetBindingMode(InteractionTracker, InteractionTracker) |
Recupera la modalità dell'asse di associazione tra due tracker di interazione. |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Definisce una proprietà che può essere animata. (Ereditato da CompositionObject) |
SetBindingMode(InteractionTracker, InteractionTracker, InteractionBindingAxisModes) |
Imposta la modalità dell'asse di associazione tra due tracker di interazione. |
StartAnimation(String, CompositionAnimation, AnimationController) |
Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione. (Ereditato da CompositionObject) |
StartAnimation(String, CompositionAnimation) |
Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione. (Ereditato da CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
Avvia un gruppo di animazioni. Il metodo StartAnimationGroup in CompositionObject consente di avviare CompositionAnimationGroup. Tutte le animazioni nel gruppo verranno avviate contemporaneamente sull'oggetto . (Ereditato da CompositionObject) |
StopAnimation(String) |
Disconnette un'animazione dalla proprietà specificata e arresta l'animazione. (Ereditato da CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
Arresta un gruppo di animazioni. (Ereditato da CompositionObject) |
TryGetAnimationController(String) |
Restituisce un oggetto AnimationController per l'animazione in esecuzione sulla proprietà specificata. (Ereditato da CompositionObject) |
TryUpdatePosition(Vector3, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption) |
Tenta di aggiornare la posizione del InteractionTracker usando l'opzione di blocco specificata. |
TryUpdatePosition(Vector3, InteractionTrackerClampingOption) |
Tenta di aggiornare la posizione del InteractionTracker usando l'opzione di blocco specificata. |
TryUpdatePosition(Vector3) |
Prova ad aggiornare la InteractionTrackerposizione. Il metodo TryUpdatePosition aggiorna la posizione di InteractionTracker alla posizione Vector3 specificata come parametro. TryUpdatePosition viene usato per definire in modo dichiarativo la posizione di InteractionTracker in qualsiasi momento (sia all'inizio, da un evento immesso con stato e così via). TryUpdatePosition può essere chiamato dallo stato Idle, CustomAnimation o Inertia, in modo da spostare la posizione di InteractionTracker alla posizione definita e immettere lo stato di inattività. |
TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption) |
Prova a regolare la posizione del InteractionTracker in base alla quantità specificata usando l'opzione di blocco specificata. |
TryUpdatePositionBy(Vector3) |
Tenta di modificare la InteractionTrackerposizione in base alla quantità specificata. Il metodo TryUpdatePositionBy aggiorna la posizione corrente di InteractionTracker dal delta Vector3 specificato come parametro. Analogamente a TryUpdatePosition, TryUpdatePositionBy viene usato per spostare in modo dichiarativo InteractionTracker da un delta definito senza la necessità di un'animazione o di inerzia. TryUpdatePositionBy può essere chiamato dallo stato Idle, CustomAnimation o Inertia, in modo da spostare la posizione di InteractionTracker dal delta definito e immettere lo stato di inattività. |
TryUpdatePositionWithAdditionalVelocity(Vector3) |
Prova ad aggiornare il InteractionTrackerposizione aggiungendo velocità. Il metodo TryUpdatePositionWithAdditionalVelocity aggiunge l'input Vector3 che rappresenta una velocità aggiuntiva alla velocità corrente di InteractionTracker. Di conseguenza, poiché la velocità di InteractionTracker è ora cambiata, la posizione di riposo di destinazione per InteractionTracker ora cambia. TryUpdatePositionWithAdditionalVelocity può essere chiamato dagli stati Idle, Inertia o CustomAnimation, in modo da aggiungere o aggiornare la velocità di InteractionTracker e immettere lo stato Inerzia. |
TryUpdatePositionWithAnimation(CompositionAnimation) |
Prova ad aggiornare il InteractionTrackerposizione applicando un'animazione. Il metodo TryUpdatePositionWithAnimation aggiorna la posizione di InteractionTracker in base all'input CompositionAnimation come parametro. Questo metodo viene usato in situazioni in cui il movimento di InteractionTracker deve essere definito da un'animazione specifica, invece dell'esperienza di inerzia tradizionale. TryUpdatePositionWithAnimation può essere chiamato dallo stato Idle o Inertia. In questo modo, InteractionTracker la posizione verrà guidata dall'animazione definita e immettere lo stato CustomAnimation. |
TryUpdateScale(Single, Vector3) |
Tenta di aggiornare la scala al valore specificato. Il metodo TryUpdateScale aggiorna la posizione della scala di InteractionTracker alla posizione scale e al punto centrale specificato come parametro. TryUpdateScale viene usato per definire in modo dichiarativo la scala di InteractionTracker in qualsiasi momento,ad esempio all'inizio, da un evento immesso con stato e così via. TryUpdateScale può essere chiamato dallo stato Idle, CustomAnimation o Inertia. In questo modo, la posizione della scala di InteractionTracker alla posizione definita e immette lo stato di inattività. |
TryUpdateScaleWithAdditionalVelocity(Single, Vector3) |
Prova ad aggiornare la scala aggiungendo la velocità specificata. Il metodo TryUpdateScaleWithAdditionalVelocity aggiunge il scalare immesso che rappresenta una velocità aggiuntiva alla velocità corrente di InteractionTracker e sposta il punto centrale sul vettore immesso3. Di conseguenza, poiché la velocità di InteractionTracker è ora cambiata, la posizione della scala rest di destinazione per InteractionTracker ora cambia. TryUpdateScaleWithAdditionalVelocity può essere chiamato dagli stati Idle, Inertia o CustomAnimation, in modo da aggiungere o aggiornare la velocità di InteractionTracker e immettere lo stato Inerzia. |
TryUpdateScaleWithAnimation(CompositionAnimation, Vector3) |
Prova ad aggiornare la scala con l'animazione specificata. Il metodo TryUpdateScaleWithAnimation aggiorna la posizione di scala di InteractionTracker in base al CompositionAnimation immesso come parametro. Questo metodo viene usato in situazioni in cui il movimento di InteractionTracker deve essere definito da un'animazione specifica, invece dell'esperienza di inerzia tradizionale. TryUpdateScaleWithAnimation può essere chiamato dallo stato Idle o Inertia. In questo modo, InteractionTracker posizione verrà determinata dall'animazione definita e immettere lo stato CustomAnimation. |