CompositionObject.StartAnimationGroup(ICompositionAnimationBase) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Démarre un groupe d’animations.
La méthode StartAnimationGroup sur CompositionObject vous permet de démarrer CompositionAnimationGroup. Toutes les animations du groupe sont démarrées en même temps sur l’objet .
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)
Paramètres
Groupe d’animations à démarrer.
Configuration requise pour Windows
Famille d’appareils |
Windows 10 Anniversary Edition (introduit dans 10.0.14393.0)
|
API contract |
Windows.Foundation.UniversalApiContract (introduit dans v3.0)
|
Exemples
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;
}
}
Remarques
StartAnimationGroup prend CompositionAnimationGroup comme paramètre pour démarrer toutes les animations du groupe en même temps sur l’objet . CompositionAnimation dans le groupe doit avoir une valeur affectée à la propriété Target .
Pour obtenir les événements Completed pour toutes les animations, StartAnimationGroup doit être appelé à partir d’un Objet CompositionScopedBatch avec un événement Completed inscrit.