Silverlight & Blend动画设计系列五:故事板(StoryBoards)和动画(Animations)

正如你所看到的,Blend是一个非常强大的节约时间的设计工具,在Blend下能够设计出很 多满意的动画作品,或许他具体是怎么实现的,通过什么方式实现的我们还是一无所知。本 篇将续前面几篇基础动画之上,详细介绍Silverlight里提供故事板(StoryBorards)的属性 和各种不同类型的动画(Animations)的详细知识点,揭晓在Blend下设计动画的内幕故事。

一、故事板(StoryBoard)属性

Silvelight中的故事板(StoryBoard)提供了管理时间线的功能接口,可以用来控制一个 或多个Silverlight动画进程,故我也称其为动画时间线容器。如下XAML代码块演示了通过 StoryBoard来管理了名为GreenBall的元素在X坐标方向上的偏移变换动画。

<Storyboard x:Name="MoveBall">
     <DoubleAnimationUsingKeyFrames BeginTime="00:00:00"  Storyboard.TargetName="GreenBall"
         Storyboard.TargetProperty="(UIElement.RenderTransform). (TransformGroup.Children)[3].(TranslateTransform.X)">
         <EasingDoubleKeyFrame KeyTime="00:00:02" Value="540"/>
     </DoubleAnimationUsingKeyFrames>
</Storyboard>

StoryBoard提供了六个常用的动画属性选项,它们分别是: AutoReverse,BeginTime,Duration,FillBehavior,RepeatBehavior,SpeedRatio。通过这六个 属性可以用来控制动画的基本行为动作,比如想要实现动画的缓冲时间,就需要用到 Duration属性;设置动画的开始时间则用 BeginTime;如果动画执行完后根据执行路线反向 执行到原始状态则需要使用AutoReverse;如果需要设置动画的运行速度则使用 SpeedRatio就 可以完成。以下代码块演示了AutoReverse属性的使用,动画运行完后将按着原来的运行路线 进行反向运行。更多详细可参考这篇博文介绍:《动画基础快速入门Animation》或者MSDN。

<Storyboard x:Name="MoveBall" AutoReverse="True">
     <DoubleAnimationUsingKeyFrames BeginTime="00:00:00"  Storyboard.TargetName="GreenBall"
         Storyboard.TargetProperty="(UIElement.RenderTransform). (TransformGroup.Children)[3].(TranslateTransform.X)">
         <EasingDoubleKeyFrame KeyTime="00:00:02" Value="540"/>
     </DoubleAnimationUsingKeyFrames>
</Storyboard>

Storyboard的属性是可以组合应用的,如上代码块给动画设置了AutoReverse属性,使其 在动画执行完后通过原来的运行路径进行回滚动画,可以给该动画时间线容器添加一个 BeginTime属性,使其在程序加载后5秒钟才开始执行动画,这样就使用到了两个属性,如下 代码块:

<Storyboard x:Name="MoveBall" AutoReverse="True"  BeginTime="00:00:05">
     ......
</Storyboard>

时间: 2024-08-03 00:49:20

Silverlight &amp; Blend动画设计系列五:故事板(StoryBoards)和动画(Animations)的相关文章

Silverlight &amp;amp; Blend动画设计系列十三

Silverlight & Blend动画设计系列十三:三角函数(Trigonometry)动画之飘落的雪花(Falling Snow) 平时我们所看到的雪花(Falling Snow)飘飘的效果实际上也是一个动画,是由许多的动 画对象共同完成的一个界面效果.对于不同大小的雪片可以通过缩放变换(ScaleTransform )功能特性确定,雪片飘落是存在于一个空间之中,通过不同的透明度值可使雪花看上去具 有一定的空间视觉,雪花的飘落过程是由三角函数的原理实现的左右滑落效果,并可根据随 机生成数字

Silverlight &amp;amp; Blend动画设计系列十二

Silverlight & Blend动画设计系列十二:三角函数(Trigonometry)动画之自由旋转(Free-form rotation) 说到对象的旋转,或许就会联想到对象角度的概念.对象的旋转实现实际上就是利用对象 的角度改变来实现的位置变换,在<Silverlight & Blend动画设计系列二:旋转动画( RotateTransform)>一文中有对对象的不同角度变换的实现介绍,本篇要介绍的自由旋转( Free-form rotation)将借助<Fun

Silverlight &amp;amp; Blend动画设计系列九:动画(Animation)与视图状态管理

Silverlight中的动画(Animation)与视图状态管理(Visual State Manager) 结合使用 是非常常见的,动画用于管理对象在某段事件段内执行的动画动作,视图状态管理则用于控 制对象在多个不同的视觉状态之间切换.导航.本篇主要介绍动画(Animation)与视图状态 管理(Visual State Manager)的结合应用,关于视图状态管理的详细内容请大家查看相关资 料. 举一个简单的示例,比如在开发一个项目中有一个按钮,当我点击这个按钮的时候就动态 的从某个方向(

Silverlight &amp;amp; Blend动画设计系列六

Silverlight & Blend动画设计系列六:动画技巧(Animation Techniques)之对象与路径转化.波感特效 当我们在进行Silverlight & Blend进行动画设计的过程中,可能需要设计出很多效 果不一的图形图像出来作为动画的基本组成元素.然而在设计过程中可能会出现许多的问题 ,比如当前绘制了一个椭圆,但是在动画中仅仅只需要椭圆的一半或是更多更少的部分用作 与动画元素,这时候就需要对椭圆对象进行相应的处理才能满足我们的需求,那到底该怎么 做才能实现最终想要的

Silverlight &amp;amp; Blend动画设计系列十

Silverlight & Blend动画设计系列十:Silverlight中的坐标系统(Coordinate System)与向量(Vector)运动 如果我们习惯于数学坐标系,那么对于Silverlight中的坐标系可能会有些不习惯.因为 在Silverlight中的坐标系与Flash中的坐标系一样,一切都的颠倒的.在标准的数学坐标系 中,X轴表示水平轴,Y轴表是垂直轴,然而Silverlight中的坐标系是基于视频屏幕的坐标系 . Silverlight中的坐标系统和Flash中的坐标系统

Silverlight &amp;amp; Blend动画设计系列三:缩放动画(ScaleTransform)

在Silverlight的动画框架中,ScaleTransform类提供了在二维空间中的坐标内进行缩放 操作,通过 ScaleTransform可以在水平或垂直方向的缩放和拉伸对象,以实现一个简单的缩 放动画效果,故此我将其称为缩放动画(ScaleTransform).使用ScaleTransform需要特别 关注的有两点:中心点坐标和X.Y轴方向的缩放比例,比例值越小则对象元素就越小(既收 缩),比例值越大则对象元素就越大(既呈现为放大效果). Blend对Silverlight里的动画设计支

Silverlight &amp;amp; Blend动画设计系列二:旋转动画(RotateTransform)

Silverlight的基础动画包括偏移.旋转.缩放.倾斜和翻转动画,这些基础动画毫无疑 问是在Silverlight中使用得最多的动画效果,其使用也是非常简单的.相信看过上一篇<偏 移动画(TranslateTransform)>文章的朋友大多数对Silverlight & Blend动画设计已 经产生了莫大的兴趣,本篇将继续介绍Silverlight中的基础动画之旋转动画 (RotateTransform). 所谓旋转动画(RotateTransform)也就是一个元素以一个坐标点

SilverLight企业应用框架设计【五】客户端调用服务端(使用JSON传递数据,自己实现RESTful Web服务)

来个索引 SilverLight企业应用框架设计[四]实体层设计+为客户端动态生成服务代理(自己实现RiaService) SilverLight企业应用框架设计[三]服务端设计 SilverLight企业应用框架设计[二]框架画面 SilverLight企业应用框架设计[一]整体说明   在上一节中讲到的自动生成的服务代理类核心代码,如下 public event ServiceEventHandler Completed; public void GetAllMenu() { var si

Silverlight &amp;amp; Blend动画设计系列四:倾斜动画(SkewTransform)

Silverlight中的倾斜变化动画(SkewTransform)能够实现对象元素的水平.垂直方向的 倾斜变化动画效果.我们现实生活中的倾斜变化效果是非常常见的,比如翻书的纸张效果, 关门开门的时候门缝图形倾斜变换.在Silverlight中实现一个倾斜变化的动画效果是非常简 单的,如果利用Blend这种强大的设计工具来实现那更是锦上添花. 倾斜效果的动画应用效果其实非常好看,使用倾斜变换需要注意的有两点:倾斜方向和倾 斜中心点.可以以某点为倾斜中心点进行X或Y坐标方向进行倾斜,如下以默认中心