InteractionTracker.TryUpdateScale(Single, Vector3) Метод
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Пытается обновить масштаб до указанного значения.
Метод TryUpdateScale обновляет расположение шкалы InteractionTracker до позиции scale и центральной точки, указанной в качестве параметра. TryUpdateScale используется для декларативного определения масштаба InteractionTracker в любой момент времени (в начале, из какого-либо события, введенного в состояние и т. д.). TryUpdateScale можно вызвать из состояния Idle, CustomAnimation или Инерция. Это приведет к перемещению позиции шкалы InteractionTracker в определенную позицию и переходу в состояние простоя.
public:
virtual int TryUpdateScale(float value, float3 centerPoint) = TryUpdateScale;
int TryUpdateScale(float const& value, float3 const& centerPoint);
public int TryUpdateScale(float value, Vector3 centerPoint);
function tryUpdateScale(value, centerPoint)
Public Function TryUpdateScale (value As Single, centerPoint As Vector3) As Integer
Параметры
- value
-
Single
float
Новое значение для параметра Scale.
Возвращаемое значение
int
Возвращает идентификатор запроса. При переходе состояния запрос, вызваввший изменение состояния, будет включен в аргументы. Эти идентификаторы начинаются с 1 и увеличиваются с каждым вызовом try в течение времени существования приложения.
Примеры
void SetupInteractionTracker()
{
// Setup InteractionTracker
_tracker = InteractionTracker.Create(_compositor);
_interactionSource.PositionXSourceMode = InteractionSourceMode.EnabledWithInertia;
_interactionSource.PositionYSourceMode = InteractionSourceMode.EnabledWithInertia;
_tracker.InteractionSources.Add(_interactionSource);
_tracker.PositionInertiaDecayRate = new Vector3(0.95f);
// Update the scale position of InteractionTracker
_tracker.TryUpdateScale(0.5f, new Vector3(50f));
}
Комментарии
Если InteractionTracker находится в состоянии взаимодействия (пользователь активно управляет) и вызывается TryUpdateScale, система проигнорирует этот запрос. При этом возникает событие, которое можно прослушивать. При отправке из одного из других состояний прослушайте событие IdleStateEntered и проверка свойство RequestID, определяющее, какой запрос вызвал обратный вызов.
В таблице ниже приведена сводка ожидаемого поведения при вызове этого метода в определенном состоянии:
Текущее состояние | Результат |
---|---|
Бездействие | Обновление свойства до запрошенного значения, без изменений состояния |
Взаимодействие | Запрос игнорируется |
Инерция | Обновление свойства на запрошенное значение, изменение состояния на Бездейству |
CustomAnimation | Обновление свойства на запрошенное значение, изменение состояния на Бездейству |