다음을 통해 공유


InteractionTracker.TryUpdateScaleWithAnimation 메서드

정의

지정된 애니메이션을 사용하여 배율을 업데이트하려고 시도합니다.

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

public:
 virtual int TryUpdateScaleWithAnimation(CompositionAnimation ^ animation, float3 centerPoint) = TryUpdateScaleWithAnimation;
int TryUpdateScaleWithAnimation(CompositionAnimation const& animation, float3 const& centerPoint);
public int TryUpdateScaleWithAnimation(CompositionAnimation animation, Vector3 centerPoint);
function tryUpdateScaleWithAnimation(animation, centerPoint)
Public Function TryUpdateScaleWithAnimation (animation As CompositionAnimation, centerPoint As Vector3) As Integer

매개 변수

animation
CompositionAnimation

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

centerPoint
Vector3 Vector3

float3

새 중심점입니다.

반환

Int32

int

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

예제

void CustomAnimationForIT(float newScale, Vector3 newCenterPoint)
{
  // 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
  ScalarKeyFrameAnimation kfa = _compositor.CreateScalarKeyFrameAnimation();
  kfa.Duration = TimeSpan.FromSeconds(3);

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

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

설명

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

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

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

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

적용 대상