InteractionTrackerInertiaRestingValue 클래스
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
상호 작용 후 나머지 위치를 정의하는 ExpressionAnimation 입니다.
InteractionTrackerInertiaRestingValue 클래스는 특정 조건이 충족되면 InteractionTracker에 대한 명시적 휴식 위치를 계산하는 두 개의 ExpressionAnimation을 정의합니다. InteractionTrackerInertiaRestingValue는 두 부분으로 정의됩니다. 이 경우 InteractionTracker 의 특정 휴지 위치를 명시적으로 정의해야 하는 조건문과 위치를 출력하는 수학 관계를 설명하는 수식입니다. 상호 작용이 발생한 후 InteractionTracker가 특정 위치에 배치되도록 해야 하는 경우 InteractionTrackerInertiaRestingValue 클래스를 활용합니다.
public ref class InteractionTrackerInertiaRestingValue sealed : InteractionTrackerInertiaModifier
/// [Windows.Foundation.Metadata.ContractVersion(Windows.Foundation.UniversalApiContract, 196608)]
/// [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.ContractVersion(typeof(Windows.Foundation.UniversalApiContract), 196608)]
[Windows.Foundation.Metadata.MarshalingBehavior(Windows.Foundation.Metadata.MarshalingType.Agile)]
[Windows.Foundation.Metadata.Threading(Windows.Foundation.Metadata.ThreadingModel.Both)]
public sealed class InteractionTrackerInertiaRestingValue : InteractionTrackerInertiaModifier
Public NotInheritable Class InteractionTrackerInertiaRestingValue
Inherits InteractionTrackerInertiaModifier
- 상속
-
Object Platform::Object IInspectable CompositionObject InteractionTrackerInertiaModifier InteractionTrackerInertiaRestingValue
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 10 Anniversary Edition (10.0.14393.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v3.0에서 도입되었습니다.)
|
예제
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 클래스 페이지를 참조하세요. |
Dispatcher |
CompositionObject의 디스패처입니다. (다음에서 상속됨 CompositionObject) |
DispatcherQueue |
CompostionObject에 대한 DispatcherQueue 를 가져옵니다. (다음에서 상속됨 CompositionObject) |
ImplicitAnimations |
이 개체에 연결된 암시적 애니메이션의 컬렉션입니다. (다음에서 상속됨 CompositionObject) |
Properties |
CompositionObject와 연결된 속성의 컬렉션입니다. (다음에서 상속됨 CompositionObject) |
RestingValue |
Condition 속성의 식이 true이면 InteractionTracker의 나머지 값을 정의하는 ExpressionAnimation입니다. Resting 속성은 해당 조건이 충족되는 경우 상호 작용 후 InteractionTracker가 이동할 위치를 설명하는 ExpressionAnimation입니다. InteractionTracker가 관성인 동안 이 식은 모든 프레임에서 실행되며 Float 형식으로 resolve 합니다. 그렇지 않으면 수식이 계산될 때 오류가 throw됩니다. 식 작성에 대한 자세한 내용은 ExpressionAnimation 클래스 페이지를 참조하세요. |