다음을 통해 공유


InteractionTracker.TryUpdatePositionWithAnimation 메서드

정의

애니메이션을 적용하여 InteractionTracker의 위치를 업데이트하려고 시도합니다.

TryUpdatePositionWithAnimation 메서드는 CompositionAnimation 입력을 기반으로 InteractionTracker의 위치를 매개 변수로 업데이트합니다. 이 메서드는 InteractionTracker 의 동작을 기존 관성 환경 대신 특정 애니메이션으로 정의해야 하는 상황에서 사용됩니다. TryUpdatePositionWithAnimation은 유휴 또는 관성 상태에서 호출할 수 있습니다. 이렇게 하면 InteractionTracker 의 위치가 정의된 애니메이션에 의해 구동되고 CustomAnimation 상태가 됩니다.

public:
 virtual int TryUpdatePositionWithAnimation(CompositionAnimation ^ animation) = TryUpdatePositionWithAnimation;
int TryUpdatePositionWithAnimation(CompositionAnimation const& animation);
public int TryUpdatePositionWithAnimation(CompositionAnimation animation);
function tryUpdatePositionWithAnimation(animation)
Public Function TryUpdatePositionWithAnimation (animation As CompositionAnimation) As Integer

매개 변수

animation
CompositionAnimation

InteractionTracker에 적용할 애니메이션입니다.

반환

Int32

int

요청 ID를 반환합니다. 상태 전환 시 상태 변경을 발생시킨 요청이 인수에 포함됩니다. 이러한 ID는 1에서 시작하여 애플리케이션 수명 동안 각 try 호출에 따라 증가합니다.

예제

void CustomAnimationForIT(Vector3 newPosition)
{
  // Create a cubic bezier easing function that will be used in the KeyFrames
  CompositionEasingFunction cubicBezier = _compositor.CreateCubicBezierEasingFunction(new Vector2(.17f, .67f), new Vector2(1f, 1f);

  // Create the Vector3 KFA
  Vector3KeyFrameAnimation kfa = _compositor.CreateVector3KeyFrameAnimation();
  kfa.Duration = TimeSpan.FromSeconds(3);

  // Create the KeyFrames
  kfa.InsertKeyFrame(1.0f, newPosition, cubicBezier);

  // Update InteractionTracker position using this animation
  _tracker.TryUpdatePositionWithAnimation(kfa);
}

설명

InteractionTracker의 위치를 업데이트하려는 애니메이션을 만들 때 StartAnimation을 호출할 필요가 없습니다. TryUpdatePositionWithAnimation을 통해 애니메이션이 전달되면 시스템은 백그라운드에서 이 작업을 처리합니다.

InteractionTracker의 위치에 애니메이션을 적용할 애니메이션을 정의할 때 Vector3KeyFrameAnimation 또는 Vector3로 확인되는 ExpressionAnimation을 사용해야 합니다.

아래 표에는 이 메서드가 특정 상태에서 호출될 때 예상되는 동작이 요약되어 있습니다.

현재 상태결과
유휴 상태요청된 애니메이션이 요청된 속성에서 시작되며 CustomAnimation의 상태 변경 내용
상호 작용 중요청이 무시됨
관성요청된 애니메이션이 요청된 속성에서 시작되며 CustomAnimation의 상태 변경 내용
CustomAnimation현재 애니메이션이 중지되고 요청된 새 애니메이션이 요청된 속성에서 시작되고 상태가 CustomAnimation으로 다시 입력됩니다.

적용 대상