InteractionTracker.TryUpdatePositionWithAnimation 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
애니메이션을 적용하여 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에 적용할 애니메이션입니다.
반환
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으로 다시 입력됩니다. |