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 è progettata per abilitare l'input per guidare CompositionAnimations per esperienze di interazione personalizzate. Per creare esperienze interattive, è necessario associare uno o più oggetti VisualInteractionSourcea InteractionTracker.
Scenari comuni
IneractionTracker deve essere usato per:
- Aggiunta di un comportamento di scorrimento rapido personalizzato, ad esempio scorrimento rapido di elementi ListView o di altri oggetti visivi da eliminare/ignorare
- Transizioni associate alla panoramica, ad esempio lo scorrimento rapido verso la transizione tra gli stati "chiusi" e "aperti"
- L'animazione guidata dall'input di un effetto, ad esempio la panoramica causa la sfocatura dello schermo
- 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à programmatica 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 | Trigger possibili |
---|---|---|
Idle | Interazione | Questa transizione di stato si verifica solo quando viene eseguita una manipolazione dell'utente allineata a un oggetto VisualInteractionSource associato a InteractionTracker. |
Idle | Inerzia | Questa transizione di stato si verifica solo quando interactionTracker si trova nello stato Inattiva e viene chiamato TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity. |
Idle | CustomAnimation | Questa transizione di stato si verifica quando InteractionTracker si trova nello stato Inattiva e tryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation viene chiamato. |
Interazione | 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 le informazioni come la velocità di rilascio del dito e InertiaDecayRate determineranno il comportamento durante lo stato inerziale. |
Inerzia | Idle | 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 entrambi ottenuto 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 in inerzia e passeranno a Inattiva con i valori aggiornati delle proprietà. |
Inerzia | Inerzia | Questa transizione di stato si verifica quando TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity viene chiamata quando si trova già nello stato Inertia. Se si immette di nuovo Inertia, 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 | Interazione | Questa transizione di stato si verifica quando l'input attivo dell'utente che esegue hit test a VisualInteractionSource viene eseguito prima del completamento dell'inerzia. |
CustomAnimation | Idle | Questa transizione di stato si verifica quando tutte le animazioni impostate nella posizione e nelle 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 | Interazione | Questa transizione di stato si verifica quando viene eseguita una manipolazione dell'utente che esegue hit test in un oggetto VisualInteractionSource associato a InteractionTracker. |
Qualsiasi transizione di stato eseguita da InteractionTracker produrrà 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* emetterà un REQUESTID che può essere usato per tenere traccia della chiamata Try* che ha causato la modifica dello stato. Il primo requestID durante il ciclo di vita dell'applicazione sarà 1 e ogni chiamata successiva incrementerà il valore requestID, vale a dire che ognuno sarà univoco.
Posizione e scalabilità di InteractionTracker
Le due proprietà più comunemente usate di InteractionTracker sono posizione e scala. Ogni volta che si verifica 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 di InteractionTracker sono il modo migliore per aggiornare la logica dell'applicazione sullo stato e i valori correnti di InteractionTracker e le relative proprietà.
Una distinzione importante sull'InteractionTracker è che la sua posizione e la scala non sono associate allo spazio di coordinate di qualsiasi oggetto visivo specifico. Al momento della creazione di InteractionTracker, la sua posizione avrà i sottocanali x, y e z del vettore impostato su 0 e la scalabilità verrà impostata su 1. Solo le chiamate di input attivo o Try* possono causare la modifica di questi valori. I valori minimi e massimi 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 che i valori vadano leggermente oltre il minimo o il massimo durante lo stato Di interazione. Al termine della manipolazione, tuttavia, i valori verranno sempre inattivi all'interno dell'intervallo impostato. CustomAnimations verrà sempre bloccata all'interno degli intervalli impostati per la posizione e la scalabilità.
Il concetto di spazio delle coordinate di InteractionTracker si allinea al concetto di coordinate dello schermo in cui un movimento su/sinistra aumenta il valore di posizione e un movimento verso il basso/destra riduce il valore di posizione. Di conseguenza, è molto comune negare la proprietà di posizione quando la collega 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 entrambe le proprietà consiste nel consentire la modifica al di fuori di questi valori iniziali, è necessario aggiornare i valori minimi/massimi.
InteractionTracker e ExpressionAnimations
InteractionTracker espone una varietà di proprietà che possono essere usate nel contesto di ExpressionAnimations per guidare gli aggiornamenti alle proprietà animabili di CompositionObject s. A causa della natura asincrona di InteractionTracker, non è consigliabile eseguire query direttamente su queste proprietà. È invece consigliabile usare le proprietà recapitate nei callback per guidare la logica dell'applicazione e fare riferimento ai valori in un'espressioneAnimation per aggiornare le proprietà animatable.
Come accennato in precedenza, le due proprietà più comunemente usate di InteractionTracker sono le proprietà Position e Scale. Queste sono le proprietà che verranno aggiornate in risposta all'input 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 oggetto CompositionPropertySet che tiene traccia dello stato di avanzamento, che può a sua volta guidare una serie di animazioni coordinate.
Directing Input to the InteractionTracker
Dopo la configurazione, InteractionTracker richiede ancora un ultimo passaggio per ricevere l'input tocco e rispondere. Vedere la documentazione in VisualInteractionSource. TryRedirectForManipulation per altre informazioni sulla configurazione dell'input in ingresso per il flusso in InteractionTracker.
Proprietà
Comment |
Stringa da associare a CompositionObject. (Ereditato da CompositionObject) |
Compositor |
Compositor utilizzato per creare questo CompositionObject. (Ereditato da CompositionObject) |
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 InteractionTracker. |
MaxScale |
Scala massima per InteractionTracker. |
MinPosition |
Posizione minima consentita per InteractionTracker. |
MinScale |
Scala minima per InteractionTracker. |
NaturalRestingPosition |
Posizione di riposo naturale per InteractionTracker. La proprietà NaturalRestingPosition è la posizione calcolata in cui InteractionTracker verrà arrestato senza tenere conto dei limiti o dei modificatori inerziali. 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 negli argomenti dell'evento InertiaStateEntered o riferimento a questa proprietà in un oggetto ExpressionAnimation durante la creazione di elementi come modificatori di inerzia. |
NaturalRestingScale |
Scala di riposo naturale per InteractionTracker. La proprietà NaturalRestingScale è la posizione di scala calcolata che InteractionTracker verrà arrestata senza tenere conto dei limiti o dei 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 valore corrente negli argomenti dell'evento InertiaStateEntered o riferimento a questa proprietà in un oggetto ExpressionAnimation durante la creazione di elementi come modificatori di inerzia. |
Owner |
IInteractionTrackerOwner associato a InteractionTracker. |
Position |
Posizione di output calcolata da InteractionTracker. La posizione corrente è un valore relativo. Durante gli stati Idle e CustomAnimation, sarà sempre compreso tra i valori specificati nelle proprietà MinPosition e MaxPosition. La proprietà position 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 |
Tasso 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, InteractionTracker più veloce rallenta a un arresto e viceversa. Definito come Vector3, ogni componente rappresenta di conseguenza il tasso 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 durante l'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'espressioneAnimation. |
Properties |
Raccolta di proprietà associate a CompositionObject. (Ereditato da CompositionObject) |
Scale |
Scala di output calcolata da InteractionTracker. La scala corrente è un valore relativo che dipende dai valori specificati nelle proprietà MinScale e MaxScale . La proprietà scale di InteractionTracker è un float che rappresenta la scala nello spazio delle coordinate di InteractionTracker . Questo valore inizierà da 1 e aumenterà o ridurrà in base all'input attivo o alle chiamate dirette per aggiornare o animare la proprietà. La proprietà scale quando InteractionTracker si trova negli stati Idle o CustomAnimation non cambierà da 1 a meno che le proprietà MinScale e MaxScale , entrambe predefinite su 1, vengano aggiornate. InteractionTracker La scala può andare leggermente al di fuori di questo intervallo durante gli stati di interazione e inerzia per mostrare un rimbalzo o una resistenza al limite. |
ScaleInertiaDecayRate |
Tasso di decadimento inerziale, 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 scalabilità cambia. Più vicino a 1, InteractionTracker più veloce rallenta a un arresto e viceversa. A differenza di 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'espressioneAnimation. |
Metodi
AdjustPositionXIfGreaterThanThreshold(Single, Single) |
Regola la coordinata x della posizione se è maggiore della soglia specificata. |
AdjustPositionYIfGreaterThanThreshold(Single, Single) |
Regola la coordinata di posizione y 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 tracker è 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 tracker è in inerzia, il primo CompositionConditionalValue ad avere il relativo ". Condizione" restituisce true sostituisce il valore di Zoom CenterPointY usato dal tracker con il valore ". 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 con cui il interactionTrackerInertiaModifier ha nella raccolta sarà lo stesso ordine con cui verrà valutato il sistema. |
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 InteractionTrackerInertiaModifiers al 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 con cui il interactionTrackerInertiaModifier ha nella raccolta sarà lo stesso ordine con cui verrà valutato il sistema. |
ConfigureScaleInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
Applica una raccolta di oggetti InteractionTrackerInertiaModifier alla scala di un InteractionTracker. Il metodo ConfigureScaleInertiaModifiers applica un singolo oggetto 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 con cui il interactionTrackerInertiaModifier ha nella raccolta sarà lo stesso ordine con cui verrà valutato il sistema. |
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 interactionTracker impostando le proprietà, associando un oggetto VisualInteractionSource e facendo riferimento a una posizione o una scala in un'espressioneAnimation, l'input attivo può guidare ExpressionAnimation. |
CreateWithOwner(Compositor, IInteractionTrackerOwner) |
Crea un'istanza di InteractionTracker con il proprietario specificato. Questo metodo Create creerà un'istanza di InteractionTracker con un proprietario per la registrazione per i callback. Dopo aver creato interactionTracker impostando le proprietà, associando un oggetto VisualInteractionSource e facendo riferimento a una posizione o una scala in un'espressioneAnimation, l'input attivo può guidare ExpressionAnimation. La creazione di InteractionTracker con un proprietario è necessaria solo se l'applicazione deve ricevere callback relativi allo stato e ai valori di InteractionTracker. |
Dispose() |
Esegue attività definite dall'applicazione, come rilasciare o reimpostare 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) |
Connette un'animazione con la proprietà specificata dell'oggetto e avvia l'animazione. (Ereditato da CompositionObject) |
StartAnimation(String, CompositionAnimation, AnimationController) |
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) |
Tenta di aggiornare la posizione di InteractionTracker. 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 nella posizione definita e immettere lo stato di inattività. |
TryUpdatePosition(Vector3, InteractionTrackerClampingOption) |
Tenta di aggiornare la posizione di InteractionTracker usando l'opzione di blocco specificata. |
TryUpdatePosition(Vector3, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption) |
Tenta di aggiornare la posizione di InteractionTracker usando l'opzione di blocco specificata. |
TryUpdatePositionBy(Vector3) |
Tenta di regolare la posizione di InteractionTracker 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à. |
TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption) |
Tenta di regolare la posizione di InteractionTracker in base alla quantità specificata usando l'opzione di blocco specificata. |
TryUpdatePositionWithAdditionalVelocity(Vector3) |
Prova ad aggiornare la posizione di InteractionTracker 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 questo modo, aggiungere o aggiornare la velocità di InteractionTracker e immettere lo stato Inerzia. |
TryUpdatePositionWithAnimation(CompositionAnimation) |
Prova ad aggiornare la posizione di InteractionTracker applicando un'animazione. Il metodo TryUpdatePositionWithAnimation aggiorna la posizione di InteractionTracker in base all'input CompositionAnimation come parametro. Questo metodo viene usato nelle situazioni in cui il movimento di InteractionTracker deve essere definito da un'animazione specifica, invece dell'esperienza tradizionale di inerzia. TryUpdatePositionWithAnimation può essere chiamato dallo stato Idle o Inertia. In questo modo, la posizione di InteractionTracker 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 di scala 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 modo da spostare la posizione di scala di InteractionTracker nella posizione definita e immettere 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 , nonché sposta il punto centrale al vettore 3 immesso. Di conseguenza, poiché la velocità di InteractionTracker è ora cambiata, la posizione della scala di riposo di destinazione per InteractionTracker ora cambia. TryUpdateScaleWithAdditionalVelocity può essere chiamato dagli stati Idle, Inertia o CustomAnimation. In questo modo, aggiungere o aggiornare la velocità di InteractionTracker e immettere lo stato Inerzia. |
TryUpdateScaleWithAnimation(CompositionAnimation, Vector3) |
Tenta di aggiornare la scala con l'animazione specificata. Il metodo TryUpdateScaleWithAnimation aggiorna la posizione di scala di InteractionTracker in base all'input CompositionAnimation immesso come parametro. Questo metodo viene usato nelle situazioni in cui il movimento di InteractionTracker deve essere definito da un'animazione specifica, invece dell'esperienza tradizionale di inerzia. TryUpdateScaleWithAnimation può essere chiamato dallo stato Idle o Inertia. In questo modo, la posizione di InteractionTracker verrà guidata dall'animazione definita e immettere lo stato CustomAnimation. |