Поделиться через


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.

centerPoint
Vector3 Vector3

float3

Новая центральная точка.

Возвращаемое значение

Int32

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Обновление свойства на запрошенное значение, изменение состояния на Бездейству

Применяется к