< DoubleAnimationUsingKeyFrames BeginTime ="00:00:00" Storyboard.Targetname ="fan"
Storyboard.TargetProperty ="(UIElement.Rendertransform).(transformGroup.Children)[2].(Rotatetransform.Angle)" >
< EasingDoubleKeyFrame KeyTime ="00:00:01" Value ="360" />
</ DoubleAnimationUsingKeyFrames >
</ Storyboard > 执行这个旋转动画可以看到效果,名为“fan”的元素将在一秒钟内旋转360度。同样也可以通过编程的方式来动态的创建该旋转动画,详细如下代码块: private voID CreateStoryboard()
{
// 创建动画容器时间线
Storyboard storyboard = new Storyboard();
// 创建旋转动画
DoubleAnimation doubleAnimation = new DoubleAnimation();
doubleAnimation.To = 360 ;
doubleAnimation.Duration = new Duration( new TimeSpan( 0 , 0 , 1 ));
Storyboard.SetTarget(doubleAnimation, fan);
Storyboard.SetTargetProperty(doubleAnimation,
new PropertyPath( " (UIElement.Rendertransform).(transformGroup.Children)[2].(Rotatetransform.Angle) " ));
storyboard.Children.Add(doubleAnimation);
storyboard.Begin();
} @H_419_19@ 或许有人会问,旋转动画我该怎么去用,什么样的场景适合使用旋转动画?其实很多地方都可以使用旋转动画,比如游戏中的地图场景中的风车,实际上也就是一个旋转动画效果,旋转动画下面是一条线作为风车的柱子。我们直接在本文的示例项目中加入一条竖线,线的一端对应于旋转动画的中心,通过Blend设计后动态生成的XAML编码如下: < Canvas Canvas.ZIndex ="-1" x:name ="line" >
< Path x:name ="path" Stretch ="Fill" stroke ="Black" Height ="194.494" WIDth ="1" UseLayoutRounding ="False"
Canvas.left ="303" Canvas.top ="184" Data ="M408,256 L408,449.49417" strokeThickness ="6" Opacity ="0.78"
strokeStartlineCap ="Round" strokeEndlineCap ="Round" >
< Path.Fill >
< linearGradIEntBrush EndPoint ="0.5,1" StartPoint ="0.5,0" >
< GradIEntStop color ="#FFBA6161" Offset ="0" />
< GradIEntStop color ="#FF306C0A" Offset ="1" />
</ linearGradIEntBrush >
</ Path.Fill >
</ Path >
</ Canvas > 注意上面设置ZIndex值是为了将线条呈现到旋转动画的后面去,这样给人一种旋转动画是在线条的一端不停的选择,看起就像是一个风车在旋转一样,实际上就是一种视觉欺骗,记得我一个做3D游戏开发的朋友给我说过,3D游戏里的大多数效果全都是视觉欺骗,嘎嘎~~~~~~~~~~,OK,现在运行动画的效果则如下截图: @H_419_19@ 这样的效果貌似不好看,我们可以为其他加入背景图片进行装饰,根据背景图片进行调整适当的位置、元素颜色、形状等,以更为真实的效果呈现在用户面前。具体的调整过程这里就不作过多的介绍,给个上了背景的截图演示下吧: @H_419_19@ 推荐资源: MSDN: http://msdn.microsoft.com/zh-cn/library/cc189090(VS.95).aspx Silverlight & Blend动画设计系列一:偏移动画(TranslateTransform) 《Function Silverlight 3 Animation》----本篇中使用的示例素材选自此书 总结
以上是内存溢出为你收集整理的Silverlight & Blend动画设计系列二:旋转动画(RotateTransform)全部内容,希望文章能够帮你解决Silverlight & Blend动画设计系列二:旋转动画(RotateTransform)所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)