다음을 통해 공유


CompositionObject.StartAnimation 메서드

정의

오버로드

StartAnimation(String, CompositionAnimation)

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

StartAnimation(String, CompositionAnimation, AnimationController)

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

StartAnimation(String, CompositionAnimation)

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

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

적용 대상

StartAnimation(String, CompositionAnimation, AnimationController)

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

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 개체가 더 적게 필요한 단일 컨트롤러의 ProgressProgress 속성에 여러 애니메이션을 바인딩할 수 있습니다.

적용 대상