다음을 통해 공유


InteractionTrackerInertiaRestingValue 클래스

정의

상호 작용 후 나머지 위치를 정의하는 ExpressionAnimation 입니다.

InteractionTrackerInertiaRestingValue 클래스는 특정 조건이 충족되면 InteractionTracker에 대한 명시적 휴식 위치를 계산하는 두 ExpressionAnimations를 정의합니다. InteractionTrackerInertiaRestingValue는 두 부분으로 정의됩니다. InteractionTracker 의 특정 휴식 위치가 true이면 명시적으로 정의되어야 하는 조건문과 위치를 출력하는 수식입니다. 상호 작용이 발생한 후 InteractionTracker가 특정 위치에 배치되도록 해야 하는 경우 InteractionTrackerInertiaRestingValue 클래스를 활용합니다.

public ref class InteractionTrackerInertiaRestingValue sealed : InteractionTrackerInertiaModifier
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.LiftedContract, 65536)]
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
class InteractionTrackerInertiaRestingValue final : InteractionTrackerInertiaModifier
/// [Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
/// [Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
/// [Windows.Foundation.Metadata.ContractVersion(Microsoft.Foundation.WindowsAppSDKContract, 65536)]
class InteractionTrackerInertiaRestingValue final : InteractionTrackerInertiaModifier
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.LiftedContract), 65536)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTrackerInertiaRestingValue : InteractionTrackerInertiaModifier
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
[Windows.Foundation.Metadata.ContractVersion(typeof(Microsoft.Foundation.WindowsAppSDKContract), 65536)]
public sealed class InteractionTrackerInertiaRestingValue : InteractionTrackerInertiaModifier
Public NotInheritable Class InteractionTrackerInertiaRestingValue
Inherits InteractionTrackerInertiaModifier
상속
Object Platform::Object IInspectable CompositionObject InteractionTrackerInertiaModifier InteractionTrackerInertiaRestingValue
특성

예제

void MandatorySingleSnapPoints(ContainerVisual containerVisual, Visual contentVisual)
{
  //
  // Set up our inertia modifiers to behave as dmanip's "single mandatory" snap-points, at a
  // regular interval of 50px.
  //

  const float snapPointRange = 50.0f;

  //
  // Configure a "snap-point" to handle upward direction (to previous item).
  //

  var modifier1 = InteractionTrackerInertiaRestingValue.Create(_compositor);

  // Add a condition for when this upward “snap-point” applies.
  modifier1.Condition = _compositor.CreateExpressionAnimation(
    "this.Target.NaturalRestingPosition.y < " + 
    "(this.StartingValue - mod(this.StartingValue, snapPointRange) + snapPointRange / 2)");

  modifier1.Condition.SetScalarParameter("snapPointRange", snapPointRange);

  // Configure the resting spot when the condition is met 
  modifier1.EndPoint = _compositor.CreateExpressionAnimation(
    "this.StartingValue - mod(this.StartingValue, snapPointRange)");

  modifier1.EndPoint.SetScalarParameter("snapPointRange", snapPointRange);

  //
  // Configure a "snap-point" to handle downward direction (to next item).
  //

  var modifier2 = InteractionTrackerInertiaRestingValue.Create(_compositor);

  // Add a condition for when this downward “snap-point” applies.
  modifier2.Condition = _compositor.CreateExpressionAnimation(
    "this.Target.NaturalRestingPosition.y >= " + 
    "(this.StartingValue - mod(this.StartingValue, snapPointRange) + snapPointRange / 2)");

  modifier2.Condition.SetScalarParameter("snapPointRange", snapPointRange);

  // Configure the resting spot when the condition is met.
  modifier2.EndPoint = _compositor.CreateExpressionAnimation(
    "this.StartingValue + snapPointRange - mod(this.StartingValue, snapPointRange)");

  modifier2.EndPoint.SetScalarParameter("snapPointRange", snapPointRange);

  var modifiers = new InteractionTrackerInertiaRestingValue[] { modifier1, modifier2 };

  //
  // Add our "snap-point" inertia modifiers to the Y position of the InteractionTracker.
  //

  _tracker.ConfigurePositionYInertiaModifiers(modifiers);
}

설명

InteractionTrackerInertiaRestingValue 한정자를 InteractionTracker에 연결할 때 X/Y 위치 또는 크기 조정으로 구성합니다.

조건 속성을 정의하는 ExpressionAnimation 은 상호 작용이 완료되면(손가락이 놓인) 한 번만 실행되지만 RestingValue 식은 모든 프레임에서 실행됩니다.

InteractionTrackerInertiaRestingValue 한정자는 조건이 충족되면 InteractionTracker 의 나머지 위치를 명시적으로 정의합니다. 그러나 이 명시적 위치에 대한 동작을 정의하지는 않습니다. 시스템에서 이를 처리합니다. 따라서 InteractionTracker 가 특정 동작을 수행해야 하지만 정확한 지점에 착륙할 필요가 없는 경우 InteractionTrackerInertiaMotion 한정자를 활용합니다.

속성

Comment

CompositionObject와 연결할 문자열입니다.

(다음에서 상속됨 CompositionObject)
Compositor

CompositionObject를 만드는 데 사용되는 Compositor입니다.

(다음에서 상속됨 CompositionObject)
Condition

한정자를 적용해야 하는 시기를 설명하는 ExpressionAnimation 입니다.

Condition 속성은 InteractionTracker에 특정 휴식 위치가 있어야 하는 시기를 정의하는 ExpressionAnimation입니다. 이 식은 상호 작용이 발생한 후 한 번 실행되고 Bool 형식으로 resolve 합니다. 그렇지 않으면 조건이 평가될 때 오류가 throw됩니다. 식 작성에 대한 자세한 내용은 ExpressionAnimation 클래스 페이지를 참조하세요.

DispatcherQueue

CompositionObject에 대한 DispatcherQueue를 가져옵니다.

(다음에서 상속됨 CompositionObject)
ImplicitAnimations

이 개체에 연결된 암시적 애니메이션의 컬렉션입니다.

(다음에서 상속됨 CompositionObject)
Properties

CompositionObject와 연결된 속성의 컬렉션입니다.

(다음에서 상속됨 CompositionObject)
RestingValue

Condition 속성의 식이 true인 경우 InteractionTracker의 나머지 값을 정의하는 ExpressionAnimation입니다.

Resting 속성은 해당 조건이 충족되는 경우 상호 작용 후 InteractionTracker가 로 이동하는 위치를 설명하는 ExpressionAnimation입니다. InteractionTracker가 관성인 동안 이 식은 모든 프레임에서 실행되며 Float 형식으로 resolve 합니다. 그렇지 않으면 수식이 계산될 때 오류가 throw됩니다. 식 작성에 대한 자세한 내용은 ExpressionAnimation 클래스 페이지를 참조하세요.

메서드

Close()

CompositionObject를 닫고 시스템 리소스를 해제합니다.

(다음에서 상속됨 CompositionObject)
Create(Compositor)

InteractionTrackerInertiaRestingValue의 instance 만듭니다.

Dispose()

관리되지 않는 리소스의 확보, 해제 또는 다시 설정과 관련된 애플리케이션 정의 작업을 수행합니다.

(다음에서 상속됨 CompositionObject)
PopulatePropertyInfo(String, AnimationPropertyInfo)

애니메이션 효과를 주는 속성을 정의합니다.

(다음에서 상속됨 CompositionObject)
StartAnimation(String, CompositionAnimation, AnimationController)

개체의 지정된 속성에 애니메이션을 연결하고 애니메이션을 시작합니다.

(다음에서 상속됨 CompositionObject)
StartAnimation(String, CompositionAnimation)

개체의 지정된 속성에 애니메이션을 연결하고 애니메이션을 시작합니다.

(다음에서 상속됨 CompositionObject)
StartAnimationGroup(ICompositionAnimationBase)

애니메이션 그룹을 시작합니다.

CompositionObject의 StartAnimationGroup 메서드를 사용하면 CompositionAnimationGroup을 시작할 수 있습니다. 그룹의 모든 애니메이션은 개체에서 동시에 시작됩니다.

(다음에서 상속됨 CompositionObject)
StopAnimation(String)

지정된 속성에서 애니메이션의 연결을 끊고 애니메이션을 중지합니다.

(다음에서 상속됨 CompositionObject)
StopAnimationGroup(ICompositionAnimationBase)

애니메이션 그룹을 중지합니다.

(다음에서 상속됨 CompositionObject)
TryGetAnimationController(String)

지정된 속성에서 실행되는 애니메이션에 대한 AnimationController를 반환합니다.

(다음에서 상속됨 CompositionObject)

적용 대상

추가 정보