CompositionObject.StartAnimation 메서드
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
StartAnimation(String, CompositionAnimation) |
개체의 지정된 속성에 애니메이션을 연결하고 애니메이션을 시작합니다. |
StartAnimation(String, CompositionAnimation, AnimationController) |
개체의 지정된 속성에 애니메이션을 연결하고 애니메이션을 시작합니다. |
개체의 지정된 속성에 애니메이션을 연결하고 애니메이션을 시작합니다.
public:
virtual void StartAnimation(Platform::String ^ propertyName, CompositionAnimation ^ animation) = StartAnimation;
void StartAnimation(winrt::hstring const& propertyName, CompositionAnimation const& animation);
public void StartAnimation(string propertyName, CompositionAnimation animation);
function startAnimation(propertyName, animation)
Public Sub StartAnimation (propertyName As String, animation As CompositionAnimation)
매개 변수
- propertyName
-
String
Platform::String
winrt::hstring
애니메이션을 연결할 속성입니다.
- animation
- CompositionAnimation
지정된 속성과 연결할 애니메이션입니다.
Windows 요구 사항
디바이스 패밀리 |
Windows 10 (10.0.10586.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v2.0에서 도입되었습니다.)
|
예제
void AnimatingVisualOffset(Visual targetVisual)
{
var animation = _compositor.CreateVector3KeyFrameAnimation();
//
// Define specific easing functions.
//
var linear = _compositor.CreateLinearEasingFunction();
var easeIn = _compositor.CreateCubicBezierEasingFunction(
new Vector2(0.5f, 0.0f), new Vector2(1.0f, 1.0f));
var easeOut = _compositor.CreateCubicBezierEasingFunction(
new Vector2(0.0f, 0.0f), new Vector2(0.5f, 1.0f));
//
// Add a set of key frames to describe how the Offset should change over time.
//
animation.InsertKeyFrame(0.00f, new Vector3(100.0f, 100.0f, 0.0f));
animation.InsertKeyFrame(0.25f, new Vector3(300.0f, 100.0f, 0.0f), easeIn);
animation.InsertKeyFrame(0.50f, new Vector3(300.0f, 300.0f, 0.0f), linear);
animation.InsertKeyFrame(0.75f, new Vector3(100.0f, 300.0f, 0.0f), linear);
animation.InsertKeyFrame(1.00f, new Vector3(100.0f, 100.0f, 0.0f), easeOut);
//
// The animation curve defined by the key frames will scale to match the duration.
//
animation.Duration = TimeSpan.FromMilliseconds(4000);
targetVisual.StartAnimation("Offset", animation);
}
설명
StartAnimation이 호출될 때 애니메이션이 개체의 속성에 이미 바인딩된 경우 이전에 적용된 애니메이션의 연결이 끊어지고 새 애니메이션이 할당됩니다. 마찬가지로 속성을 직접 설정하면 이전 애니메이션의 연결이 끊어지고 새 속성 값이 적용됩니다.
다음 표에는 애니메이션 효과를 주는 속성 목록이 나와 있습니다.
Object | 속성 이름 | 속성 유형 |
---|---|---|
시각적 개체 | AnchorPoint | Vector2 |
CenterPoint | Vector3 | |
Offset | Vector3 | |
불투명도 | 스칼라 | |
방향 | Vector4 | |
RotationAngle | 스칼라 | |
RotationAxis | Vector3 | |
크기 | Vector2 | |
TransformMatrix | Matrix4x4 | |
InsetClip | BottomInset | 스칼라 |
LeftInset | 스칼라 | |
RightInset | 스칼라 | |
TopInset | 스칼라 | |
CompositionColorBrush | 색상 | Windows.UI.Color |
CompositionPropertySet | 개발자가 지정한 속성 집합입니다. |
또한 CompositionEffectBrush 개체 아래에 있는 일부 효과의 속성에 애니메이션 효과를 줄 수 있습니다.
효과 이름 | 속성 이름 | 속성 유형 |
---|---|---|
SaturationEffect | 채도 | 스칼라 |
ColorSourceEffect | 색상 | Vector4 |
ArithmeticComposite | Offset | 스칼라 |
Source1Amount | 스칼라 | |
Source2Amount | 스칼라 | |
MultiplyAmount | 스칼라 | |
Transform2D | TransformMatrix | Matrix3x2 |
ContrastEffect | 이 예와 | Float |
ExposureEffect | 노출 | Float |
HueRotationEffect | 각도 | Float |
SepiaEffect | 강도 | Float |
TemperatureAndTintEffect | 온도 | Float |
색조 | Float | |
GammaTransferEffect | RedAmplitude | Float |
RedExponent | Float | |
RedOffset | Float | |
GreenAmplitude | Float | |
GreenExponent | Float | |
GreenOffset | Float | |
BlueAmplitude | Float | |
BlueExponent | Float | |
BlueOffset | Float | |
AlphaAmplitude | Float | |
AlphaExponent | Float | |
AlphaOffset | Float |
적용 대상
개체의 지정된 속성에 애니메이션을 연결하고 애니메이션을 시작합니다.
public:
virtual void StartAnimation(Platform::String ^ propertyName, CompositionAnimation ^ animation, AnimationController ^ animationController) = StartAnimation;
/// [Windows.Foundation.Metadata.Overload("StartAnimationWithController")]
void StartAnimation(winrt::hstring const& propertyName, CompositionAnimation const& animation, AnimationController const& animationController);
[Windows.Foundation.Metadata.Overload("StartAnimationWithController")]
public void StartAnimation(string propertyName, CompositionAnimation animation, AnimationController animationController);
function startAnimation(propertyName, animation, animationController)
Public Sub StartAnimation (propertyName As String, animation As CompositionAnimation, animationController As AnimationController)
매개 변수
- propertyName
-
String
Platform::String
winrt::hstring
애니메이션을 연결할 속성입니다.
- animation
- CompositionAnimation
지정된 속성과 연결할 애니메이션입니다.
- animationController
- AnimationController
애니메이션과 연결할 애니메이션 컨트롤러입니다.
- 특성
Windows 요구 사항
디바이스 패밀리 |
Windows 11 Insider Preview (10.0.23504.0에서 도입되었습니다.)
|
API contract |
Windows.Foundation.UniversalApiContract (v15.0에서 도입되었습니다.)
|
설명
매개 변수를 animationController
사용하면 여러 애니메이터의 속성을 CompositionObject 속성에 바인딩하는 것보다 ExpressionAnimation 개체가 더 적게 필요한 단일 컨트롤러의 Progress
Progress 속성에 여러 애니메이션을 바인딩할 수 있습니다.