Condividi tramite


InteractionTracker Classe

Definizione

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à
Object Platform::Object IInspectable CompositionObject InteractionTracker
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.
InteractionTracker states: Idle, Inertia, Interacting e Custom Animation

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 statoStato finaleTrigger possibili
IdleInterazioneQuesta transizione di stato si verifica solo quando viene eseguita una manipolazione dell'utente allineata a un oggetto VisualInteractionSource associato a InteractionTracker.
IdleInerziaQuesta transizione di stato si verifica solo quando interactionTracker si trova nello stato Inattiva e viene chiamato TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity.
IdleCustomAnimationQuesta transizione di stato si verifica quando InteractionTracker si trova nello stato Inattiva e tryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation viene chiamato.
InterazioneInerziaQuesta 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.
InerziaIdleQuesta 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à.
InerziaInerziaQuesta 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.
InerziaCustomAnimationQuesta transizione di stato si verifica quando viene eseguita una chiamata a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation durante lo sate Inertia.
InerziaInterazioneQuesta transizione di stato si verifica quando l'input attivo dell'utente che esegue hit test a VisualInteractionSource viene eseguito prima del completamento dell'inerzia.
CustomAnimationIdleQuesta transizione di stato si verifica quando tutte le animazioni impostate nella posizione e nelle proprietà di scala di InteractionTracker sono state completate.
CustomAnimationCustomAnimationQuesta transizione di stato si verifica quando viene eseguita una chiamata a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation mentre è già nello stato CustomAnimation.
CustomAnimationInerziaQuesta transizione di stato si verifica quando viene eseguita una chiamata a TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity quando si trova nello stato CustomAnimation.
CustomAnimationInterazioneQuesta 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.

Si applica a

Vedi anche