本文整理汇总了C#中Compositor.CreateVector3KeyFrameAnimation方法的典型用法代码示例。如果您正苦于以下问题:C# Compositor.CreateVector3KeyFrameAnimation方法的具体用法?C# Compositor.CreateVector3KeyFrameAnimation怎么用?C# Compositor.CreateVector3KeyFrameAnimation使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Compositor
的用法示例。
在下文中一共展示了Compositor.CreateVector3KeyFrameAnimation方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: createOffsetAnimation
private static KeyFrameAnimation createOffsetAnimation(Compositor compositor)
{
Vector3KeyFrameAnimation kf = compositor.CreateVector3KeyFrameAnimation();
kf.InsertExpressionKeyFrame(1.0f, "FinalValue");
kf.Duration = TimeSpan.FromSeconds(0.9);
return kf;
}
示例2: CreateOffsetAnimation
private static KeyFrameAnimation CreateOffsetAnimation(Compositor compositor, TimeSpan duration)
{
Vector3KeyFrameAnimation kf = compositor.CreateVector3KeyFrameAnimation();
kf.InsertExpressionKeyFrame(1.0f, "this.FinalValue");
kf.Duration = duration;
kf.Target = "Offset";
return kf;
}
示例3: CreateAnimationTemplates
private void CreateAnimationTemplates(Compositor compositor)
{
//
// Near-slide and far-slide animations.
//
_nearSlideOffsetAnimation = compositor.CreateVector3KeyFrameAnimation();
_nearSlideOffsetAnimation.InsertExpressionKeyFrame(0.0f, "this.StartingValue");
_nearSlideOffsetAnimation.InsertExpressionKeyFrame(1.0f, "vector3(0,0,0) - myViewportCenter");
_farSlideOffsetAnimation = compositor.CreateVector3KeyFrameAnimation();
_farSlideOffsetAnimation.InsertExpressionKeyFrame(0.0f, "this.StartingValue");
_farSlideOffsetAnimation.InsertExpressionKeyFrame(0.9f, "vector3(0,0,0) - myViewportCenter");
_farSlideOffsetAnimation.InsertExpressionKeyFrame(1.0f, "vector3(0,0,0) - myViewportCenter");
_slideCenterAnimation = compositor.CreateVector3KeyFrameAnimation();
_slideCenterAnimation.InsertExpressionKeyFrame(0.0f, "this.StartingValue");
_slideCenterAnimation.InsertExpressionKeyFrame(1.0f, "myTargetCenterPoint");
_nearSlideScaleAnimation = compositor.CreateVector3KeyFrameAnimation();
_nearSlideScaleAnimation.InsertExpressionKeyFrame(0.00f, "this.StartingValue");
_nearSlideScaleAnimation.InsertExpressionKeyFrame(1.00f, "myScale");
_farSlideScaleAnimation = compositor.CreateVector3KeyFrameAnimation();
_farSlideScaleAnimation.InsertExpressionKeyFrame(0.00f, "this.StartingValue");
_farSlideScaleAnimation.InsertKeyFrame(0.30f, new Vector3(1.0f, 1.0f, 1.0f));
_farSlideScaleAnimation.InsertKeyFrame(1.00f, new Vector3(1.0f, 1.0f, 1.0f));
TimeSpan time4sec = TimeSpan.FromSeconds(4);
TimeSpan time8sec = TimeSpan.FromSeconds(8);
_nearSlideOffsetAnimation.Duration = time4sec;
_farSlideOffsetAnimation.Duration = time8sec;
_slideCenterAnimation.Duration = time4sec;
_nearSlideScaleAnimation.Duration = time4sec;
_farSlideScaleAnimation.Duration = time4sec;
//
// Zoom animations.
//
_zoomScaleAnimation = compositor.CreateVector3KeyFrameAnimation();
_zoomScaleAnimation.InsertExpressionKeyFrame(0.00f, "this.StartingValue");
_zoomScaleAnimation.InsertKeyFrame(0.40f, new Vector3(1.0f, 1.0f, 1.0f));
_zoomScaleAnimation.InsertKeyFrame(0.60f, new Vector3(1.0f, 1.0f, 1.0f));
_zoomScaleAnimation.InsertExpressionKeyFrame(1.00f, "myScale");
_zoomCenterAnimation = compositor.CreateVector3KeyFrameAnimation();
_zoomCenterAnimation.InsertExpressionKeyFrame(0.00f, "this.StartingValue");
_zoomCenterAnimation.InsertExpressionKeyFrame(0.40f, "this.StartingValue");
_zoomCenterAnimation.InsertExpressionKeyFrame(0.60f, "myTargetCenterPoint");
_zoomCenterAnimation.InsertExpressionKeyFrame(1.00f, "myTargetCenterPoint");
_zoomOffsetAnimation = compositor.CreateVector3KeyFrameAnimation();
_zoomOffsetAnimation.InsertExpressionKeyFrame(0.00f, "this.StartingValue");
_zoomOffsetAnimation.InsertExpressionKeyFrame(1.00f, "vector3(0,0,0) - myViewportCenter");
TimeSpan time12sec = TimeSpan.FromSeconds(12);
_zoomScaleAnimation.Duration = time12sec;
_zoomCenterAnimation.Duration = time12sec;
_zoomOffsetAnimation.Duration = time12sec;
//
// Stack animations.
//
CubicBezierEasingFunction flyInEasing;
CubicBezierEasingFunction flyOutEasing;
flyInEasing = compositor.CreateCubicBezierEasingFunction(new Vector2(0.0f, 1.0f), new Vector2(0.8f, 1.0f));
_stackFlyInAnimation = compositor.CreateVector3KeyFrameAnimation();
_stackFlyInAnimation.InsertExpressionKeyFrame(0.00f, "stackVisual.Offset + startDelta");
_stackFlyInAnimation.InsertExpressionKeyFrame(1.00f, "stackVisual.Offset + endDelta", flyInEasing);
_stackFlyInAnimation.Duration = TimeSpan.FromSeconds(2);
flyOutEasing = compositor.CreateCubicBezierEasingFunction(new Vector2(0.0f, 0.4f), new Vector2(1.0f, 0.6f));
_stackFlyOutAnimation = compositor.CreateVector3KeyFrameAnimation();
_stackFlyOutAnimation.InsertExpressionKeyFrame(0.00f, "this.StartingValue", flyOutEasing);
_stackFlyOutAnimation.InsertExpressionKeyFrame(0.50f, "this.StartingValue + delta", flyOutEasing);
_stackFlyOutAnimation.InsertExpressionKeyFrame(1.00f, "originalOffset", flyOutEasing);
_stackFlyOutAnimation.Duration = TimeSpan.FromSeconds(2);
_stackScaleAnimation = compositor.CreateVector3KeyFrameAnimation();
_stackScaleAnimation.InsertExpressionKeyFrame(0.00f, "this.StartingValue");
_stackScaleAnimation.InsertExpressionKeyFrame(1.00f, "myScale");
_stackScaleAnimation.Duration = TimeSpan.FromSeconds(6);
//
// Color flashlight expression animation.
//
// This expression returns a computes between 0 and 1 as a function of on how close the
// center of the frame is to the center of the window.
// - If the frame is at the center of the window, the expression computes 0 (no
// desaturation).
// - If the frame is more than 300px away from the center of the window, the
// expression computes 1 (full desaturation).
// - If the frame is within 300px from the center of the window, the expression
// computes a value between 0 and 1 relative to how far the frame is from the 300px
//.........这里部分代码省略.........
示例4: InitComposition
/// <summary>
/// Initializes the Composition elements
/// </summary>
private void InitComposition()
{
// Compositor
_compositor = ElementCompositionPreview.GetElementVisual(this).Compositor;
// CompositionGenerator
_generator = CompositionGeneratorFactory.GetCompositionGenerator(_compositor);
// Fade Out Animation
_fadeOutAnimation = _compositor.CreateScalarKeyFrameAnimation();
_fadeOutAnimation.InsertKeyFrame(1f, 0);
_fadeOutAnimation.Duration = TransitionDuration;
// Fade In Animation
_fadeInAnimation = _compositor.CreateScalarKeyFrameAnimation();
_fadeInAnimation.InsertKeyFrame(1f, 1);
_fadeInAnimation.Duration = TransitionDuration;
// Color Animation
_colorAnimation = _compositor.CreateColorKeyFrameAnimation();
_colorAnimation.Duration = TransitionDuration;
// Offset Animation
_offsetAnimation = _compositor.CreateVector3KeyFrameAnimation();
_offsetAnimation.Target = "Offset";
_offsetAnimation.Duration = TransitionDuration;
_offsetAnimation.InsertKeyFrame(1f, Vector3.Zero);
// Alignment animations
_alignXAnimation = _compositor.CreateScalarKeyFrameAnimation();
_alignXAnimation.Duration = AlignmentTransitionDuration;
_alignYAnimation = _compositor.CreateScalarKeyFrameAnimation();
_alignYAnimation.Duration = AlignmentTransitionDuration;
// ZoomIn Animation Group
_scaleAnimation = _compositor.CreateVector3KeyFrameAnimation();
_scaleAnimation.Target = "Scale";
_scaleAnimation.InsertKeyFrame(1f, Vector3.One);
_scaleAnimation.Duration = TransitionDuration;
_zoomInAnimationGroup = _compositor.CreateAnimationGroup();
_zoomInAnimationGroup.Add(_scaleAnimation);
_zoomInAnimationGroup.Add(_offsetAnimation);
// Visuals
_rootContainer = _compositor.CreateContainerVisual();
_frameLayer = _compositor.CreateLayerVisual();
_frameBackgroundVisual = _compositor.CreateSpriteVisual();
_frameContentVisual = _compositor.CreateSpriteVisual();
_placeholderContentVisual = _compositor.CreateSpriteVisual();
_placeholderBackgroundVisual = _compositor.CreateSpriteVisual();
_nextVisualContent = _compositor.CreateSpriteVisual();
_frameLayer.Children.InsertAtTop(_frameBackgroundVisual);
_frameLayer.Children.InsertAtTop(_frameContentVisual);
_frameLayer.Children.InsertAtTop(_placeholderBackgroundVisual);
_frameLayer.Children.InsertAtTop(_placeholderContentVisual);
_frameLayer.Children.InsertAtTop(_nextVisualContent);
// Placeholder content
_placeholderContentMask = _generator.CreateGeometrySurface(PlaceholderSize, GetPlaceHolderGeometry(),
PlaceholderColor, PlaceholderBackground);
_placeholderContentBrush = _compositor.CreateSurfaceBrush(_placeholderContentMask.Surface);
_placeholderContentVisual.Brush = _placeholderContentBrush;
// Placeholder background
_placeholderBackgroundVisual.Brush = _compositor.CreateColorBrush(PlaceholderBackground);
// By default placeholder visual will not be visible
HidePlaceholder();
// Shadow visual
_shadowVisual = _compositor.CreateSpriteVisual();
_rootContainer.Children.InsertAtBottom(_shadowVisual);
_rootContainer.Children.InsertAtTop(_frameLayer);
_frameBackgroundVisual.Brush = _compositor.CreateColorBrush(FrameBackground);
// Create the effect to create the opacity mask
var layerEffect = new CompositeEffect
{
// CanvasComposite.DestinationIn - Intersection of source and mask.
// Equation: O = MA * S
// where O - Output pixel, MA - Mask Alpha, S - Source pixel.
Mode = CanvasComposite.DestinationIn,
Sources =
{
new CompositionEffectSourceParameter("source"),
new CompositionEffectSourceParameter("mask")
}
};
var layerEffectFactory = _compositor.CreateEffectFactory(layerEffect);
_layerEffectBrush = layerEffectFactory.CreateBrush();
// The mask for the imageFrame
_frameLayerMask = _generator.CreateMaskSurface(new Size(0, 0), null);
_layerEffectBrush.SetSourceParameter("mask", _compositor.CreateSurfaceBrush(_frameLayerMask.Surface));
// Apply the mask effect to the frameLayer
_frameLayer.Effect = _layerEffectBrush;
ElementCompositionPreview.SetElementChildVisual(this, _rootContainer);
}