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(Windows.Foundation.UniversalApiContract, 196608)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InteractionTracker final : CompositionObject
[Windows.Foundation.Metadata.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTracker : CompositionObject
Public NotInheritable Class InteractionTracker
Inherits CompositionObject
Ereditarietà
Object Platform::Object IInspectable CompositionObject InteractionTracker
Attributi

Requisiti Windows

Famiglia di dispositivi
Windows 10 Anniversary Edition (è stato introdotto in 10.0.14393.0)
API contract
Windows.Foundation.UniversalApiContract (è stato introdotto in v3.0)

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 di stato che può essere guidata dall'input attivo o da chiamate esplicite per aggiornare o animare le relative proprietà. La classe InteractionTracker è destinata a 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 l'scorrimento di elementi ListView o altri oggetti visivi da eliminare o ignorare
  • Transizioni associate alla panoramica, ad esempio la transizione tra stati "chiusi" e "aperti"
  • L'animazione basata sull'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 di stato con quattro stati:

  • Inattività: nessun input o animazioni attive che guidano l'interazioneTracker
  • Interazione: l'input utente attivo sta guidando InteractionTracker
  • Inertia: animazioni attive che sono un risultato di input attivo o 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.
InteractionTracker indica: Inertia, Inertia, Interazione e Animazione personalizzata

Le transizioni di stato possono verificarsi a causa di azioni 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 ID richiesta per tenere traccia se la richiesta viene ignorata o causa una modifica dello stato.

Una cosa 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, come sono i callback rilasciati tramite l'interfaccia IInteractionTrackerOwner.

Di seguito viene descritto ciò che attiva ogni modifica dello stato da eseguire:

Begin StateStato finaleTrigger possibili
IdleInterazioneQuesta transizione di stato si verifica solo quando viene eseguita una manipolazione utente allineata a VisualInteractionSource associata a InteractionTracker.
IdleInerziaQuesta transizione di stato si verifica solo quando l'InteractionTracker si trova nello stato Idle e TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity viene chiamato.
IdleCustomAnimationQuesta transizione di stato si verifica quando InteractionTracker si trova nello stato inattivo e TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation viene chiamata.
InterazioneInerziaQuesta transizione di stato si verifica solo quando viene completata una manipolazione utente inviata all'interactionTracker. Al termine dell'input attivo, InteractionTracker immette lo stato Inertia e le informazioni come la velocità di rilascio del dito e InertiaDecayRate determinano il comportamento durante lo stato Inertia.
InerziaIdleQuesta transizione dello stato si verifica quando le funzioni usate per aggiornare la posizione e/o la scalabilità non comportano più modifiche. In altre parole, la velocità di posizione e scala ha ottenuto entrambi lo zero. Questa transizione dello stato può verificarsi anche se una chiamata viene effettuata per aggiornare in modo esplicito la posizione o la scala senza animazione o velocità. Queste chiamate terminano inerti e passano all'inattività con i valori delle proprietà aggiornati.
InerziaInerziaQuesta transizione di stato si verifica quando TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity viene chiamato quando già nello stato Inertia. L'immissione di nuovo di Inertia causerà la rivalutazione di tutte le proprietà InertiaStateEntered.
InerziaCustomAnimationQuesta transizione dello stato si verifica quando viene eseguita una chiamata a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation mentre si trova nel sate Inertia.
InerziaInterazioneQuesta transizione dello stato si verifica quando l'input attivo dall'utente che esegue il hit-test a VisualInteractionSource viene inserito prima che Inertia sia stato completato.
CustomAnimationIdleQuesta transizione dello stato si verifica quando tutte le animazioni impostate sulla posizione e le proprietà di scalabilità di InteractionTracker sono state completate.
CustomAnimationCustomAnimationQuesta transizione dello stato si verifica quando viene eseguita una chiamata a TryUpdatePositionWithAnimation o TryUpdateScaleWithAnimation mentre è già presente nello stato CustomAnimation.
CustomAnimationInerziaQuesta transizione di stato si verifica quando viene eseguita una chiamata a TryUpdatePositionWithVelocity o TryUpdateScaleWithVelocity quando nello stato CustomAnimation.
CustomAnimationInterazioneQuesta transizione dello stato si verifica quando viene eseguita una manipolazione utente che esegue il hit test in un oggetto VisualInteractionSource associato a InteractionTracker.

Qualsiasi transizione dello stato effettuata da InteractionTracker genererà un callback che indica il nuovo stato con args che includono informazioni rilevanti per tale stato e l'ID richiesta per la richiesta che ha causato la modifica dello stato. Le manipolazioni attive dell'utente generano un ID richiesta pari a 0. Qualsiasi chiamata Try* emetterà un ID richiesta che può essere usato per il rilevamento 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à l'ID richiesta, ovvero ogni oggetto 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.

Cronologia delle versioni

Versione di Windows Versione dell'SDK Valore aggiunto
1703 15063 ConfigureCenterPointXInertiaModifiers
1703 15063 ConfigureCenterPointYInertiaModifiers
1709 16299 ConfigureVector2PositionInertiaModifiers
1809 17763 IsInertiaFromImpulse
1809 17763 TryUpdatePosition(Vector3,InteractionTrackerClampingOption)
1809 17763 TryUpdatePositionBy(Vector3,InteractionTrackerClampingOption)
1903 18362 GetBindingMode
1903 18362 SetBindingMode
2004 19041 TryUpdatePosition(Vector3,InteractionTrackerClampingOption,InteractionTrackerPositionUpdateOption)

Proprietà

Comment

Stringa da associare a CompositionObject.

(Ereditato da CompositionObject)
Compositor

Compositore usato per creare questo oggetto CompositionObject.

(Ereditato da CompositionObject)
Dispatcher

Dispatcher per CompositionObject.

(Ereditato da CompositionObject)
DispatcherQueue

Ottiene dispatcherQueue per CompostionObject.

(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 che InteractionTracker verrà arrestata senza tenere conto dei limiti o dei modificatori inerti. Questa proprietà è spesso utile per le azioni come la virtualizzazione in un'esperienza di scorrimento, dove è importante conoscere la posizione della posizione in cui InteractionTracker si arresterà. Esistono due casi d'uso principali per l'uso della proprietà NaturalRestingPosition: recupero del relativo valore corrente nell'evento InertiaStateEntered args o riferimento a questa proprietà in un'espressioneAnimation durante la creazione di elementi come modificatori inerti.

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 inerti. Questa proprietà è spesso utile per le azioni come la virtualizzazione in un'esperienza di scorrimento, dove è importante conoscere la posizione della posizione in cui InteractionTracker si arresterà. Esistono due casi d'uso principali per l'uso della proprietà NaturalRestingScale: recupero del relativo valore corrente nell'evento InertiaStateEntered args o facendo riferimento a questa proprietà in un'espressioneAnimation durante la creazione di elementi come modificatori inertia.

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 tra i valori specificati nelle proprietà MinPosition e MaxPosition. La proprietà di posizione di InteractionTracker può uscire da questo intervallo durante gli stati Di interazione e inertia per mostrare un rimbalzo o una resistenza al limite.

La proprietà position di InteractionTracker è una posizione 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

Frequenza di decadimento inertia per la posizione. L'intervallo è compreso tra 0 e 1.

La proprietà PositionInertiaDecayRate definisce la frequenza in cui InteractionTracker rallenta a un arresto quando viene immessa l'inerzia e la posizione cambia. Più vicino a 1, l'interactionTracker più veloce lenterà a un arresto e viceversa. Definito come vector3, ogni componente rappresenta la velocità di decadimento inertia per x, y, z di conseguenza.

PositionVelocityInPixelsPerSecond

Velocità attualmente applicata alla posizione.

La proprietà PositionVelocityInPixelsPerSecond rappresenta la velocità di posizione corrente di InteractionTracker mentre in Inertia. Esistono due casi d'uso principali per questa proprietà: recupero della velocità di posizione di InteractionTracker subito dopo un'interazione o fare riferimento alla velocità più corrente 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 di 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 interactionTracker si trova negli stati inattivi o CustomAnimation non cambierà da 1 a meno che le proprietà MinScale e MaxScale, entrambe predefinite a 1, vengano aggiornate. InteractionTracker La scala può andare leggermente all'esterno di questo intervallo durante gli stati Di interazione e inertia per mostrare un rimbalzo o una resistenza al limite.

ScaleInertiaDecayRate

Velocità di decadimento inertia, per la scala. L'intervallo è compreso tra 0 e 1.

La proprietà ScaleInertiaDecayRate definisce la frequenza in cui InteractionTracker rallenta a un arresto quando viene immessa l'inerzia e la scalabilità cambia. Più vicino a 1, l'interactionTracker più veloce lenterà a un arresto e viceversa. A differenza di PositionInertiaDecayRate definita come Vector3, ScaleInertiaDecayRate viene definita come un singolo float.

ScaleVelocityInPercentPerSecond

Frequenza di modifica per la scala.

La proprietà ScaleVelocityInPercentPerSecond rappresenta la velocità di scala corrente di InteractionTracker mentre in Inertia. Afferrando la velocità di posizione di InteractionTracker subito dopo che si è verificata un'interazione o fare riferimento alla velocità più corrente di InteractionTracker in un'espressioneAnimation.

Metodi

AdjustPositionXIfGreaterThanThreshold(Single, Single)

Regola la coordinata x posizione se è maggiore della soglia specificata.

AdjustPositionYIfGreaterThanThreshold(Single, Single)

Regola la coordinata posizione y se è maggiore della soglia specificata.

Close()

Chiude l'oggetto 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 si trova in inertia, il primo CompositionConditionalValue per avere il relativo ". La condizione" restituisce true sostituisce il valore zoom CenterPointX usato dal localizzatore 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 si trova in inertia, il primo CompositionConditionalValue per avere il relativo ". Condizione" restituisce true sostituisce il valore zoom CenterPointY usato dal tracker con il relativo ". Valore". Se nessuno restituisce true, CenterPointY non viene sostituito da tale cornice.

ConfigurePositionXInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Applica una raccolta di oggetti InteractionTrackerInertiaModifier alla x inertia di un InteractionTracker.

Il metodo ConfigurePositionXInertiaModifiers applica una singola 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 l'oggetto InteractionTrackerInertiaModifier ha nella raccolta sarà lo stesso ordine con cui verrà valutato il sistema.

ConfigurePositionYInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>)

Applica una raccolta di oggetti InteractionTrackerInertiaModifier all'inertia y di un InteractionTracker.

Il metodo ConfigurePositionYInertiaModifiers applica una singola 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 l'oggetto 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 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 con cui l'oggetto InteractionTrackerInertiaModifier ha nella raccolta sarà lo stesso ordine con cui verrà valutato il sistema.

ConfigureVector2PositionInertiaModifiers(IIterable<InteractionTrackerVector2InertiaModifier>)

Applica una raccolta di oggetti InteractionTrackerInertiaModifier alla posizione di un InteractionTracker.

ConnectAnimation(String, CompositionAnimation)

Connette e animazione.

(Ereditato da CompositionObject)
Create(Compositor)

Crea un'istanza di InteractionTracker.

Questo metodo Create creerà un'istanza di InteractionTracker. Dopo aver creato l'impostazione di InteractionTracker, collegare un oggetto VisualInteractionSource e fare 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 crea un'istanza di InteractionTracker con un proprietario per la registrazione per i callback. Dopo aver creato l'impostazione di InteractionTracker, collegare un oggetto VisualInteractionSource e fare 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.

DisconnectAnimation(String)

Disconnette un'animazione.

(Ereditato da CompositionObject)
Dispose()

Esegue attività definite dall'applicazione, come rilasciare o reimpostare risorse non gestite.

(Ereditato da CompositionObject)
GetBindingMode(InteractionTracker, InteractionTracker)

Recupera la modalità asse di associazione tra due tracciatori di interazione.

PopulatePropertyInfo(String, AnimationPropertyInfo)

Definisce una proprietà che può essere animata.

(Ereditato da CompositionObject)
SetBindingMode(InteractionTracker, InteractionTracker, InteractionBindingAxisModes)

Imposta la modalità 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 del 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 nella 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 (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 inattivo.

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)

Prova a modificare 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 inertia. 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 inattivo.

TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption)

Prova a modificare la posizione dell'InteractionTracker in base alla quantità specificata usando l'opzione di blocco specificata.

TryUpdatePositionWithAdditionalVelocity(Vector3)

Tenta di 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 modo da aggiungere o aggiornare la velocità di InteractionTracker e immettere lo stato Inertia.

TryUpdatePositionWithAnimation(CompositionAnimation)

Tenta di 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 in situazioni in cui il movimento di InteractionTracker deve essere definito da un'animazione specifica, anziché dall'esperienza tradizionale inertia. 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 scale e al punto centrale specificato come parametro. TryUpdateScale viene usato per definire in modo dichiarativo la scala di InteractionTracker in qualsiasi momento (sia 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 inattivo.

TryUpdateScaleWithAdditionalVelocity(Single, Vector3)

Tenta di aggiornare la scala aggiungendo la velocità specificata.

Il metodo TryUpdateScaleWithAdditionalVelocity aggiunge la scalare inputted 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 di scala di riposo 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 Inertia.

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 in situazioni in cui il movimento di InteractionTracker deve essere definito da un'animazione specifica, anziché dall'esperienza tradizionale inertia. 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