Expression Blend实例动画-大坝水位升高演示

简介: 原文:Expression Blend实例动画-大坝水位升高演示 Expression Blend是个很强大的东西,用它可以完成很多不好做的动画效果。
原文: Expression Blend实例动画-大坝水位升高演示

Expression Blend是个很强大的东西,用它可以完成很多不好做的动画效果。

动画的主要元素:

  时间线(Timeline) :定义了值随着时间的变化方式。有不同类型的时间线,可用于改变不同类型的值。所以时间线的基类都是Timeline。为了连续改变double,可以使用DoubleAnimation类。

  Timeline的主要属性

  AutoReverse :使用该属性,可以指定连续改变的值在动画结束后是否返回初始值。

  SpeedRatio:使用该属性,可以改变动画的执行速度。在这个属性中,可以定义父子元素的相对关系。默认值为1,将速率设为较小的值时,动画的执行速度较慢。

  BeginTime:使用该属性,可以指定从触发事件开始到动画开始之间的长度。

  Duration:指定动画执行一次的时间长度。

  RepeatBehavior:定义动画重复的次数或重复的时间。

  FillBehavior:如果父元素的时间线有不同的持续时间,则FillBehavior属性就很重要。

  关于更多的Timeline类的属性可以参考?MSDN:http://msdn.microsoft.com/zh-cn/library/system.windows.media.animation.timeline_properties%28VS.85%29.aspx

  情景板(Storyboard) :用于合并动画。Storyboard类派生子基类TimelineGroup,TimelineGroup又派生自基类Timeline。

  情景板或者故事板继承自基类Timeline,但是可以包含几个时间线。StoryBoard类可以用于控制时间线。

  StoryBoard类的主要方法如下:

  Begin():启动与情景板相关的动画

  BeginAnimation():可以为一个依赖属性启动单个动画

  CreateClock():返回一个Clock对象,用于控制动画

  Pause()、Resume():暂停、恢复动画

  Seek():使动画移动到指定的时间处

  Stop():停止动画

  触发器(Trigger) :通过触发器可以启动和停止动画。


我这里用vs2013自带的Blend工具来制作一个简单的大坝水位升高的动画演示:

1.打开Blend后新建一个Wpf项目:


2.用左侧的“笔”工具画出所需要的大坝及湖泊的大概形状出来,用label或者textbox控件加入相应的文字信息,然后可以填充一下自己需要的颜色:



3.在对象菜单栏下面选择“新建”按钮,新建一个StoryBoard,击“Ok”后,Objects and Timeline编辑框将载入刚刚创建的StoryBoard,在右边出现了动画控制按钮,关键帧设置按钮以及时间线显示面板。

4.在设计主窗口,会看到一个红色框,这代表着控件处于动画录制状态:


5.在黄色进程线为“0:00:00”的位置,点击添加一个KeyFrame关键帧:


6.移动黄色进程线到“0:01:000”位置:


7.最后拖动湖泊这个梯形向上拉即可:


8.如果想一直循环运行或者规定次数的话,可以在属性进行设置,选择AutoReverse和RepeatBehavior:


9.运行后效果如图:



目录
相关文章
|
3月前
|
机器学习/深度学习 弹性计算 编解码
阿里云服务器4核8G配置:ECS实例规格、CPU型号及使用场景说明
阿里云4核8G服务器ECS提供多种实例规格,包括高主频计算型hfc8i、计算型c8i、通用算力型u1、经济型e等。各规格配备不同CPU型号与主频性能,适用于机器学习、数据分析、游戏服务器、Web前端等多种场景。用户可根据需求选择Intel或AMD处理器,如第四代Xeon或AMD EPYC系列,满足高性能计算及企业级应用要求。更多详情参见阿里云官方文档。
322 1
|
2月前
|
存储 人工智能 API
传统AI单点能力突出,为何面对复杂任务却远不及智能体?揭晓智能体的本质与核心优势
AI产品专家三桥君认为智能体作为新一代AI形态,正在重塑企业数字化运营模式。相比传统AI的单任务处理局限,智能体具备自主规划、工具调用、记忆存储和行动执行等核心能力,可完成从客户服务到订单处理的全流程业务自动化。作为企业IT技术演进的革命性突破,智能体通过智能编排微服务实现复杂流程调度,成为数字化转型的关键驱动力。未来,随着技术成熟,智能体将在更多领域释放降本增效价值,推动AI技术从单点突破走向系统化落地。
522 0
|
10月前
|
Ubuntu 网络安全 虚拟化
VMware虚拟机ping不通原因排查及分析
下面以 VMware 虚拟机为例进行介绍。
4991 3
|
网络协议 Linux
CentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org;"之解决办法(换源)
CentOS7 yum安装报错“Could not resolve host: mirrorlist.centos.org; Name or service not known“之解决办法(换源)
|
10月前
|
缓存 API 开发工具
有关Unity使用Rider编辑器无法弹出代码提示的有效解决方法
【11月更文挑战第13天】在 Unity 中使用 Rider 编辑器时,若遇到代码提示无法弹出的问题,可以通过检查 Rider 设置(如自动补全选项、Unity 插件安装、索引设置)、Unity 项目设置(如解决方案正确关联、脚本导入设置)以及环境和依赖关系(如 .NET SDK 版本兼容性、Unity 和 Rider 版本兼容性)等方面进行排查和解决。
1616 5
|
11月前
|
关系型数据库 MySQL 数据库
MySQL 查询结果求和详解
MySQL 查询结果求和详解
471 0
|
网络协议 安全 网络安全
图解OSI七层模型,2024最强科普!
【7月更文挑战第20天】
2731 2
图解OSI七层模型,2024最强科普!
|
11月前
|
XML JSON 前端开发
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
C#使用HttpClient四种请求数据格式:json、表单数据、文件上传、xml格式
2047 0
|
JSON JavaScript 前端开发
Vue项目使用Cookie,以Json格式存入与读取Cookie,设置过期时间以及删除操作
这篇文章介绍了在Vue项目中如何使用JavaScript操作Cookie,包括设置、读取、设置过期时间以及删除Cookie的方法。
643 0
|
缓存 调度
栈和队列的区别
栈和队列的区别
598 0