InteractionTracker Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Обрабатывает логику входных данных, которые можно использовать в качестве целевых объектов в ExpressionAnimations, как правило, для перемещения визуальных элементов на основе входных данных.
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
- Наследование
- Атрибуты
Примеры
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);
}
Комментарии
InteractionTracker — это компьютер состояния, который может управляться активными входными данными или явными вызовами для обновления или анимации его свойств. Класс InteractionTracker предназначен для включения входных данных для диска CompositionAnimations для пользовательского взаимодействия. Чтобы создать интерактивные интерфейсы, необходимо связать один или несколько VisualInteractionSourceс InteractionTracker.
Распространенные сценарии
IneractionTracker предназначен для использования:
- Добавление пользовательского поведения прокрутки, например прокрутка элементов ListView или других визуальных элементов для удаления и закрытия
- Переходы, связанные с сдвигом, например прокрутка для перехода между "закрытыми" и "открытыми" состояниями
- Анимация на основе входных данных эффекта, например сдвиг, приводит к размытию экрана
- Пользовательские элементы управления, например создание пользовательской реализации ScrollViewer с разными скоростями сдвига или возможностью управления программным способом
Состояния и переходы InteractionTracker
InteractionTracker — это компьютер состояния с четырьмя состояниями:
- Бездействия: нет активных входных данных или анимаций, приводящих к взаимодействиюTracker
- Взаимодействие. Активные входные данные пользователей ведут к взаимодействиюTracker
- Инерция: активные анимации, которые являются результатом активного ввода или программной скорости, приводят к взаимодействиюTracker
- CustomAnimation: свойство InteractionTracker непосредственно анимировано На схеме ниже показаны четыре состояния и допустимые переходы состояний.
Переходы состояния могут произойти из-за действий пользователей (таких как запуск или остановка манипуляции) или из-за явных вызовов методов в InteractionTracker. При любом выполнении одного из этих явных вызовов идентификатор запроса выдается для отслеживания того, игнорируется ли запрос или вызывает изменение состояния.
Важно отметить, что InteractionTracker выполняется в другом процессе, отличном от используемого приложения. Таким образом, все вызовы методов в InteractionTracker и связанных классах являются асинхронными, как и обратные вызовы, выданные через интерфейс IInteractionTrackerOwner.
Ниже описано, что активирует каждое изменение состояния.
Начало состояния | Конечное состояние | Возможные триггеры |
---|---|---|
Неработающий | Взаимодействия | Этот переход состояния происходит только при выполнении пользовательской манипуляции, которая соответствует VisualInteractionSource, связанной с Элементом InteractionTracker. |
Неработающий | Инерция | Этот переход состояния происходит только в том случае, если Элемент InteractionTracker находится в состоянии простоя и вызывается TryUpdatePositionWithVelocity или TryUpdateScaleWithVelocity. |
Неработающий | CustomAnimation | Этот переход состояния происходит, когда InteractionTracker находится в состоянии простоя и вызывается TryUpdatePositionWithAnimation или TryUpdateScaleWithAnimation. |
Взаимодействия | Инерция | Этот переход состояния происходит только при завершении манипуляции с пользователем, отправленной в InteractionTracker. Когда активный вход заканчивается, InteractionTracker войдет в состояние инерции, а сведения, такие как скорость выпуска пальца, и инерционная скорость будет определять поведение во время состояния инерции. |
Инерция | Неработающий | Этот переход состояния происходит, когда функции, используемые для обновления позиции и /или масштабирования, больше не приводят к изменению. Другими словами, скорость положения и масштабирования оба достигли нуля. Этот переход состояния также может произойти, если вызов выполняется для явного обновления позиции или масштабирования без анимации или скорости. Эти вызовы завершатся инерцией и переходом на простой с обновленными значениями свойств. |
Инерция | Инерция | Этот переход состояния происходит при вызове TryUpdatePositionWithVelocity или TryUpdateScaleWithVelocity, когда уже в состоянии инерции. Повторное ввод инерции приведет к повторному вычислению всех свойств ИнерцииStateEntered. |
Инерция | CustomAnimation | Этот переход состояния происходит при вызове TryUpdatePositionWithAnimation или TryUpdateScaleWithAnimation выполняется в то время как в сате инерции. |
Инерция | Взаимодействия | Этот переход состояния происходит, когда активные входные данные пользователя, выполняющего тесты попадания в VisualInteractionSource, происходят до завершения инерции. |
CustomAnimation | Неработающий | Этот переход состояния происходит, когда все анимации, заданные в позиции и свойствах масштабирования InteractionTracker, завершены. |
CustomAnimation | CustomAnimation | Этот переход состояния происходит, когда выполняется вызов TryUpdatePositionWithAnimation или TryUpdateScaleWithAnimation, который уже находится в состоянии CustomAnimation. |
CustomAnimation | Инерция | Этот переход состояния происходит при вызове TryUpdatePositionWithVelocity или TryUpdateScaleWithVelocity, когда выполняется в состоянии CustomAnimation. |
CustomAnimation | Взаимодействия | Этот переход состояния происходит при выполнении пользовательской манипуляции, которая выполняется в VisualInteractionSource, связанной с InteractionTracker. |
Любой переход состояния, сделанный в InteractionTracker, будет вызывать обратный вызов, указывающий новое состояние с args, которые включают сведения, относящиеся к этому состоянию, а также requestID для запроса, вызвавшего изменение состояния. Активные манипуляции с пользователем приведут к запросу 0. Любой вызов Try* выдает идентификатор запроса, который можно использовать для отслеживания вызова Try*, вызвавшего изменение состояния. Первый идентификатор запроса в течение времени существования приложения будет 1, и каждый последующий вызов добавит идентификатор запроса, то есть каждый из них будет уникальным.
Положение и масштабирование InteractionTracker
Двумя наиболее часто используемыми свойствами InteractionTracker являются положение и масштабирование. При изменении одного или обоих этих свойств обратный вызов ValuesChanged будет отправлен с информацией о текущих значениях. Из-за асинхронной природы InteractionTracker значения, полученные через обратные вызовы InteractionTracker, являются лучшим способом обновления логики приложения в текущем состоянии и значениях InteractionTracker и его свойств.
Важное различие о взаимодействииTracker заключается в том, что его положение и масштаб не связаны с координатным пространством какого-либо конкретного визуального элемента. Во время создания InteractionTracker его положение будет иметь подканели x, y и z вектора, равные 0, и масштаб будет иметь значение 1. Только активные входные данные или вызовы Try* могут привести к изменению этих значений. Минимальные и максимальные значения для каждого свойства определяют диапазон, в котором могут колебаться значения. Одним из исключений является понятие "overpan" или "overzoom", где активная манипуляция может привести к тому, что значения будут немного превышать минимальное или максимальное значение во время взаимодействия. Однако, когда манипуляция завершится, значения всегда будут остаться в пределах заданного диапазона. Пользовательские анимации всегда будут зажаты в диапазонах, заданных для положения и масштабирования.
Концепция пространства координат InteractionTracker соответствует концепции координат экрана в том, что движение вверх/влево увеличивает значение позиции, а движение вниз или вправо уменьшает значение позиции. В результате при присоединении свойства позиции к смещениям визуального элемента очень распространено.
По умолчанию минимальные и максимальные каналы позиции — 0, а минимальные и максимальные значения масштабирования — 1. Если необходимое поведение для любого свойства позволить ему изменяться вне этих начальных значений, необходимо обновить минимальное или максимальное значение.
InteractionTracker и ExpressionAnimations
InteractionTracker предоставляет различные свойства, которые можно использовать в контексте ExpressionAnimationдля обновления обновлений для анимируемых свойств CompositionObject. Из-за асинхронной природы InteractionTracker не рекомендуется запрашивать эти свойства напрямую. Вместо этого следует использовать свойства, предоставляемые в обратных вызовах для логики приложения, и ссылаться на значения в ExpressionAnimation для обновления анимируемых свойств.
Как упоминалось выше, два наиболее часто используемых свойства InteractionTracker являются свойствами Position и Scale. Это свойства, которые будут обновляться в ответ на входные данные пользователя и вызовы Try*. Использование этих свойств внутри ExpressionAnimations приведет к тому, что анимируемые свойства CompositionObjects будут обновляться в ответе. Например, свойство InteractionTracker.position может быть привязано к смещению визуального элемента. Эти свойства также часто используются для заполнения CompositionPropertySet, который отслеживает ход выполнения, который, в свою очередь, может управлять рядом скоординированных анимаций.
Направление входных данных в InteractionTracker
После настройки InteractionTracker по-прежнему требуется один последний шаг для получения сенсорного ввода и реагирования. См. документацию по VisualInteractionSource.TryRedirectForManipulation для получения дополнительных сведений о настройке входящих входных данных для потока в InteractionTracker.
Свойства
Comment |
Строка, связанная с CompositionObject. (Унаследовано от CompositionObject) |
Compositor |
Compositor, используемый для создания этого CompositionObject. (Унаследовано от CompositionObject) |
DispatcherQueue |
Возвращает диспетчерку для CompositionObject. (Унаследовано от CompositionObject) |
ImplicitAnimations |
Коллекция неявных анимаций, присоединенных к этому объекту. (Унаследовано от CompositionObject) |
InteractionSources |
Коллекция объектов, создающих взаимодействия. |
IsInertiaFromImpulse |
Возвращает значение, указывающее, является ли инерция результатом импульса. |
IsPositionRoundingSuggested |
Логическое значение, указывающее, предлагается ли округление позиций в настоящее время. |
MaxPosition |
Максимально допустимое положение для InteractionTracker. |
MaxScale |
Максимальный масштаб InteractionTracker. |
MinPosition |
Минимальная позиция, допустимая для InteractionTracker. |
MinScale |
Минимальный масштаб InteractionTracker. |
NaturalRestingPosition |
Естественное положение отдыха для InteractionTracker. Свойство NaturalRestingPosition — это вычисляемое положение, которое InteractionTracker будет остановлено без учета границ или модификаторов инерции. Это свойство часто полезно для таких действий, как виртуализация в режиме прокрутки, где важно знать расположение, где InteractionTracker остановится. Существует два основных варианта использования свойства NaturalRestingPosition: получение текущего значения в ИнерцииStateEntered или ссылки на это свойство в ExpressionAnimation при создании таких модификаторов инерции. |
NaturalRestingScale |
Естественный масштаб отдыха для InteractionTracker. Свойство NaturalRestingScale — это вычисляемое положение масштабирования, которое InteractionTracker приведет к остановке без учета границ или модификаторов инерции. Это свойство часто полезно для таких действий, как виртуализация в режиме прокрутки, где важно знать расположение, где InteractionTracker остановится. Существует два основных варианта использования свойства NaturalRestingScale: получение текущего значения в ИнерцииStateEntered или ссылки на это свойство в ExpressionAnimation при создании таких объектов, как модификаторы инерции. |
Owner |
IInteractionTrackerOwnerOwner, связанной с InteractionTracker. |
Position |
Выходная позиция, вычисляемая InteractionTracker. Текущая позиция является относительным значением. Во время состояния простоя и CustomAnimation всегда будет находиться между значениями, указанными в свойствах MinPosition и MaxPosition. Свойство позиции InteractionTracker может выйти за пределы этого диапазона во время состояний взаимодействия и инерции, чтобы показать отскоки или сопротивление на границе. Свойство позиции Объекта InteractionTracker — это вектор3, представляющий позицию в оси X, Y и Z. Каналы X и Y — это единственные компоненты, которые будут обновлены с помощью InteractionTracker на этом этапе. Каналы этого Vector3 не изменятся за пределами 0 (значение по умолчанию), если minPosition и MaxPosition не заданы. |
PositionInertiaDecayRate |
Скорость распада инерции для позиции. Диапазон от 0 до 1. Свойство PositionInertiaDecayRate определяет скорость, с которой InteractionTracker замедлится до остановки при изменении инерции и положения. Чем ближе к 1, тем быстрее InteractionTracker замедлится до остановки и наоборот. Определяется как Vector3, каждый компонент представляет частоту распада инерции для x, y, z соответственно. |
PositionVelocityInPixelsPerSecond |
Скорость, применяемая в настоящее время к позиции. Свойство PositionVelocityInPixelsPerSecond представляет текущую скорость положения InteractionTracker во время инерции. Существует два основных варианта использования этого свойства: получение скорости положения InteractionTracker сразу после того, как взаимодействие произошло или ссылается на самую текущую скорость InteractionTracker в ExpressionAnimation. |
Properties |
Коллекция свойств, связанных с CompositionObject. (Унаследовано от CompositionObject) |
Scale |
Масштаб вывода, вычисляемый InteractionTracker. Текущий масштаб является относительным значением, которое зависит от значений, указанных в свойствах MinScale и MaxScale. Свойство масштабирования InteractionTracker представляет масштаб в пространстве координат InteractionTracker. Это значение начинается с 1 и увеличивает или уменьшается на основе активных входных или прямых вызовов для обновления или анимации свойства. Свойство масштабирования, когда InteractionTracker находится в состояниях простоя или CustomAnimation, не изменится с 1, если только MinScale и свойства MaxScale, которые по умолчанию по умолчанию будут обновлены. InteractionTracker масштаб может немного выйти за пределы этого диапазона во время состояний взаимодействия и инерции, чтобы показать отскоки или сопротивление на границе. |
ScaleInertiaDecayRate |
Скорость распада инерции для масштабирования. Диапазон от 0 до 1. Свойство ScaleInertiaDecayRate определяет скорость, с помощью которой InteractionTracker замедлится до остановки при изменении инерции и масштабирования. Чем ближе к 1, тем быстрее InteractionTracker замедлится до остановки и наоборот. В отличие от PositionInertiaDecayRate который определяется как Vector3, ScaleInertiaDecayRate определяется как одно плавающее. |
ScaleVelocityInPercentPerSecond |
Частота изменений для масштабирования. Свойство ScaleVelocityInPercentPersecond представляет текущую скорость масштабирования InteractionTracker во время инерции. Захват скорости положения InteractionTracker сразу после возникновения взаимодействия или ссылки на самую текущую скорость InteractionTracker в ExpressionAnimation. |
Методы
AdjustPositionXIfGreaterThanThreshold(Single, Single) |
Корректирует координату x позиции x, если она больше указанного порогового значения. |
AdjustPositionYIfGreaterThanThreshold(Single, Single) |
Корректирует координату позиции y, если она больше указанного порогового значения. |
Close() |
Закрывает ресурсы системы CompositionObject и освобождает системные ресурсы. (Унаследовано от CompositionObject) |
ConfigureCenterPointXInertiaModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список CompositionConditionalValue. В кадре, в то время как трекер находится в инерции, первый CompositionConditionalValue должен иметь его ". Условие", равное true, заменяет значение zoom CenterPointX, которое средство отслеживания использует с его ". Значение". Если значение равно true, центрPointX не заменяет этот кадр. |
ConfigureCenterPointYInertiaModifiers(IIterable<CompositionConditionalValue>) |
Принимает упорядоченный список CompositionConditionalValue. В кадре, в то время как трекер находится в инерции, первый CompositionConditionalValue должен иметь его ". Условие", вычисляющее значение true, заменяет значение zoom CenterPointY, которое средство отслеживания использует с его ". Значение". Если значение равно true, центрPointY не заменяет этот кадр. |
ConfigurePositionXInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
Применяет коллекцию объектов InteractionTrackerInertiaModifier к инерции ВзаимодействияTracker. Метод ConfigurePositionXInertiaModifiers применяет отдельный или коллекцию InteractionTrackerInertiaModifierк компоненту x InteractionTracker. Система будет оценивать каждое свойство условия X в том порядке, в который они были добавлены в InteractionTracker. Таким образом, порядок InteractionTrackerInertiaModifier в коллекции будет таким же порядком, с которым будет оцениваться система. |
ConfigurePositionYInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
Применяет коллекцию объектов InteractionTrackerInertiaModifier к инерции ВзаимодействияTracker. Метод ConfigurePositionYInertiaModifiers применяет отдельную или коллекцию InteractionTrackerInertiaModifierк компоненту y InteractionTracker. Система будет оценивать каждое свойство условия Y в том порядке, в который они были добавлены в InteractionTracker. Таким образом, порядок InteractionTrackerInertiaModifier в коллекции будет таким же порядком, с которым будет оцениваться система. |
ConfigureScaleInertiaModifiers(IIterable<InteractionTrackerInertiaModifier>) |
Применяет коллекцию объектов InteractionTrackerInertiaModifier к масштабу Объекта InteractionTracker. Метод ConfigureScaleInertiaModifiers применяет отдельный или коллекцию InteractionTrackerInertiaModifierк компоненту масштабирования InteractionTracker. Система будет оценивать каждое свойство условия модификатора масштабирования в том порядке, в который они были добавлены в InteractionTracker. Таким образом, порядок InteractionTrackerInertiaModifier в коллекции будет таким же порядком, с которым будет оцениваться система. |
ConfigureVector2PositionInertiaModifiers(IIterable<InteractionTrackerVector2InertiaModifier>) |
Применяет коллекцию объектов InteractionTrackerInertiaModifier к позиции Объекта InteractionTracker. |
Create(Compositor) |
Создает экземпляр InteractionTracker. Этот метод Create создаст экземпляр InteractionTracker. После создания InteractionTracker задания свойств, присоединения VisualInteractionSource, а также положения ссылки или масштабирования в ExpressionAnimationактивные входные данные могут управлять ExpressionAnimation. |
CreateWithOwner(Compositor, IInteractionTrackerOwner) |
Создает экземпляр InteractionTracker с указанным владельцем. Этот метод Create создает экземпляр InteractionTracker с владельцем для регистрации для обратного вызова. После создания InteractionTracker задания свойств, присоединения VisualInteractionSource, а также положения ссылки или масштабирования в ExpressionAnimationактивные входные данные могут управлять ExpressionAnimation. Создание InteractionTracker с владельцем требуется только в том случае, если приложению необходимо получать обратные вызовы относительно состояния и значений InteractionTracker. |
Dispose() |
Выполняет определяемые приложением задачи, связанные с освобождением, освобождением или сбросом неуправляемых ресурсов. (Унаследовано от CompositionObject) |
GetBindingMode(InteractionTracker, InteractionTracker) |
Извлекает режим оси привязки между двумя средствами отслеживания взаимодействия. |
PopulatePropertyInfo(String, AnimationPropertyInfo) |
Определяет свойство, которое может быть анимировано. (Унаследовано от CompositionObject) |
SetBindingMode(InteractionTracker, InteractionTracker, InteractionBindingAxisModes) |
Задает режим оси привязки между двумя средствами отслеживания взаимодействия. |
StartAnimation(String, CompositionAnimation, AnimationController) |
Подключает анимацию с указанным свойством объекта и запускает анимацию. (Унаследовано от CompositionObject) |
StartAnimation(String, CompositionAnimation) |
Подключает анимацию с указанным свойством объекта и запускает анимацию. (Унаследовано от CompositionObject) |
StartAnimationGroup(ICompositionAnimationBase) |
Запускает группу анимации. Метод StartAnimationGroup в CompositionObject позволяет запустить CompositionAnimationGroup. Все анимации в группе будут запущены одновременно в объекте. (Унаследовано от CompositionObject) |
StopAnimation(String) |
Отключает анимацию от указанного свойства и останавливает анимацию. (Унаследовано от CompositionObject) |
StopAnimationGroup(ICompositionAnimationBase) |
Останавливает группу анимации. (Унаследовано от CompositionObject) |
TryGetAnimationController(String) |
Возвращает AnimationController для анимации, выполняемой в указанном свойстве. (Унаследовано от CompositionObject) |
TryUpdatePosition(Vector3, InteractionTrackerClampingOption, InteractionTrackerPositionUpdateOption) |
Пытается обновить позицию InteractionTracker с помощью указанного параметра закрепления. |
TryUpdatePosition(Vector3, InteractionTrackerClampingOption) |
Пытается обновить позицию InteractionTracker с помощью указанного параметра закрепления. |
TryUpdatePosition(Vector3) |
Пытается обновить положение InteractionTracker. Метод TryUpdatePosition обновляет расположение InteractionTracker положение Vector3, указанное в качестве параметра. TryUpdatePosition используется для декларативного определения позиции InteractionTracker в любой момент времени (либо в начале, из какого-либо события, введенного в состояние, и т. д.). TryUpdatePosition можно вызвать из состояния простоя, CustomAnimation или Инерции. Это приведет к перемещению позиции InteractionTracker в определенную позицию и введите состояние простоя. |
TryUpdatePositionBy(Vector3, InteractionTrackerClampingOption) |
Пытается настроить положение InteractionTracker по указанному количеству с помощью указанного параметра зажимания. |
TryUpdatePositionBy(Vector3) |
Пытается настроить положение InteractionTrackerпо указанному количеству. Метод TryUpdatePositionBy обновляет текущее расположение InteractionTracker разностным значением Vector3, указанным в качестве параметра. Аналогично TryUpdatePosition, TryUpdatePositionBy используется для декларативного перемещения InteractionTracker определенным разностным способом без необходимости анимации или инерции. TryUpdatePositionBy можно вызвать из состояния простоя, CustomAnimation или Инерции. Это приведет к перемещению позиции InteractionTracker определенным разностным и введите состояние простоя. |
TryUpdatePositionWithAdditionalVelocity(Vector3) |
Пытается обновить положение InteractionTrackerпутем добавления скорости. Метод TryUpdatePositionWithAdditionalVelocity добавляет входной Vector3, представляющий дополнительную скорость к текущей скорости InteractionTracker. В результате, поскольку скорость InteractionTracker теперь изменилась, целевая позиция отдыха для InteractionTracker теперь изменяется. TryUpdatePositionWithAdditionalVelocity можно вызывать из состояний простоя, инерции или CustomAnimation. Это приведет к добавлению или обновлению скорости InteractionTracker и введите состояние инерции. |
TryUpdatePositionWithAnimation(CompositionAnimation) |
Пытается обновить положение InteractionTrackerпутем применения анимации. Метод TryUpdatePositionWithAnimation обновляет положение InteractionTracker на основе входных данных CompositionAnimation в качестве параметра. Этот метод используется в ситуациях, когда движение InteractionTracker должно быть определено определенной анимацией, а не традиционным интерфейсом инерции. TryUpdatePositionWithAnimation можно вызвать из состояния простоя или инерции, Позиция InteractionTracker будет управляться определенной анимацией и ввести состояние CustomAnimation. |
TryUpdateScale(Single, Vector3) |
Пытается обновить масштаб до указанного значения. Метод TryUpdateScale обновляет расположение масштабирования InteractionTracker на положение масштабирования и центр, указанный в качестве параметра. TryUpdateScale используется для декларативного определения масштаба InteractionTracker в любой момент времени (либо в начале, из какого-либо события, введенного в состояние, и т. д.). TryUpdateScale можно вызвать из состояния простоя, CustomAnimation или Инерции. Это приведет к перемещению позиции масштабирования InteractionTracker в определенную позицию и введите состояние простоя. |
TryUpdateScaleWithAdditionalVelocity(Single, Vector3) |
Пытается обновить масштаб, добавив указанную скорость. Метод TryUpdateScaleWithAdditionalVelocity добавляет входной скаляр, представляющий дополнительную скорость к текущей скорости InteractionTracker, а также сдвигает центральную точку на входную вектор3. В результате, поскольку скорость InteractionTracker теперь изменилась, целевая позиция масштабирования rest для InteractionTracker изменяется. TryUpdateScaleWithAdditionalVelocity можно вызвать из состояний простоя, инерции или CustomAnimation. Это приведет к добавлению или обновлению скорости InteractionTracker и введите состояние инерции. |
TryUpdateScaleWithAnimation(CompositionAnimation, Vector3) |
Пытается обновить масштаб с помощью указанной анимации. Метод TryUpdateScaleWithAnimation обновляет положение масштабирования InteractionTracker на основе CompositionAnimation входных данных в качестве параметра. Этот метод используется в ситуациях, когда движение InteractionTracker должно быть определено определенной анимацией, а не традиционным интерфейсом инерции. TryUpdateScaleWithAnimation можно вызвать из состояния простоя или инерции. Это делается, Позиция InteractionTracker будет управляться определенной анимацией и ввести состояние CustomAnimation. |