CompositionObject.StartAnimationGroup(ICompositionAnimationBase) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Memulai grup animasi.
Metode StartAnimationGroup pada CompositionObject memungkinkan Anda memulai KomposisiAnimationGroup. Semua animasi dalam grup akan dimulai pada saat yang sama pada objek.
public:
virtual void StartAnimationGroup(ICompositionAnimationBase ^ value) = StartAnimationGroup;
void StartAnimationGroup(ICompositionAnimationBase const& value);
public void StartAnimationGroup(ICompositionAnimationBase value);
function startAnimationGroup(value)
Public Sub StartAnimationGroup (value As ICompositionAnimationBase)
Parameter
Grup animasi untuk memulai.
Persyaratan Windows
Rangkaian perangkat |
Windows 10 Anniversary Edition (diperkenalkan dalam 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (diperkenalkan dalam v3.0)
|
Contoh
class PropertyAnimation
{
PropertyAnimation(Compositor compositor, SpriteVisual heroVisual)
{
// Define ImplicitAnimations
ImplicitAnimationCollection implicitAnimations = compositor.CreateImplicitAnimationCollection();
// Animate multiple properties on the target when the “Offset” property changes.
CompositionAnimationGroup animationGroup = compositor.CreateCompositionAnimationGroup();
animationGroup.Add(CreateSizeAnimation(compositor));
animationGroup.Add(CreateRotationAnimation(compositor));
// Set the CenterPoint so that rotation will be around the center
heroVisual.CenterPoint = new Vector3((heroVisual.Size.X/2.0f), (heroVisual.Size.Y/2.0f), 0.0f);
// Start AnimationGroup
heroVisual.StartAnimationGroup(animationGroup);
}
Vector2KeyFrameAnimation CreateSizeAnimation(Compositor compositor)
{
Vector2KeyFrameAnimation animation = compositor.CreateVector2KeyFrameAnimation();
CubicBezierEasingFunction easing = compositor.CreateCubicBezierEasingFunction(new Vector2(0.80f, 0.0f), new Vector2(0.95f, 1.0f));
// value (as the animation will target on the “Size” property).
animation.InsertExpressionKeyFrame(0f, "this.StartingValue", easing);
animation.InsertExpressionKeyFrame(1f, "this.StartingValue * 2", easing);
animation.Duration = TimeSpan.FromSeconds(0.25);
animation.Target = “Size”;
return animation;
}
ScalarKeyFrameAnimation CreateRotationAnimation(Compositor compositor)
{
ScalarKeyFrameAnimation animation = compositor.CreateScalarKeyFrameAnimation();
// Create KeyFrameAnimation to animate RotationAngleInDegrees by 90 degrees.
animation.InsertExpressionKeyFrame(0f, "this.StartingValue”);
animation.InsertExpressionKeyFrame(1f, "this.StartingValue + 90.0f”);
animation.Duration = TimeSpan.FromSeconds(0.25);
animation.Target = “RotationAngleInDegrees”;
return animation;
}
}
Keterangan
StartAnimationGroup mengambil CompositionAnimationGroup sebagai parameter untuk memulai semua animasi dalam grup secara bersamaan pada objek. CompositionAnimation dalam grup harus memiliki nilai yang ditetapkan ke properti Target .
Untuk mendapatkan peristiwa Selesai untuk semua animasi, StartAnimationGroup harus dipanggil dari CompositionScopedBatch dengan peristiwa Selesai yang terdaftar.