Silverlight4.0 应用demo1 飞驰汽车动画

Silverlight4.0 应用demo1 飞驰汽车动画,第1张

概述      前一阵装好了VS2010 beta2 和Silverlight4.0,做了一个汽车运动的动画,先来个效果图(有图有真相):      演示地址: http://xingjunli.webs.com/SilverlightCar.html       下面分解一下我动画设计的过程:       1、搭建SL4.0开发环境(我的安装顺序如下):           1.1、window7

      前一阵装好了VS2010 beta2 和Silverlight4.0,做了一个汽车运动的动画,先来个效果图(有图有真相):

     演示地址: http://xingjunli.webs.com/SilverlightCar.html
      下面分解一下我动画设计的过程:
      1、搭建SL4.0开发环境(我的安装顺序如下):
          1.1、window7 + IIS安装(参考 在windows 7下安装和设置IIS 发布Silverlight站点)
          1.2、安装:dotNetFx40_Full_x86
          1.3、安装:VS2010B2Pro
          1.4、安装:Silverlight4_Tools
          1.5、安装:Blend_Trial_en
          1.6、安装:Silverlight

     2、创建Silverlight项目目录结构如下:

       2.1:、我将整个动画分解为三个元件(UCWheel(轮子)、UCar(汽车),ucmainBg(背景及斑马线)),

       2.2、在主场景MainPage中引入上面创建的元件组合成一个完整动画;

     3、创建轮子旋转动画:

       3.1、点击如上图Objects and Timeline 面板中的"+"创建一个时间线动画

       3.2、在故事面板中选中Image图片,应用PlaneProjection.RotationZ(参考MSDN:PlaneProjection.RotationZ 属性 ) 属性(分别在时间线0秒和0.8秒处设置属性值0和360)让轮子绕Z轴圆心旋转起来(为保证轮子绕着圆心旋转,我们需要设置image属性: RendertransformOrigin="0.5,0.5",) ;

       3.3、代码如下:

     4、创建汽车动画(引用轮子旋转用户控件):

     4.1、在UCCar中导入汽车车身图片;

     4.2、轮子动画有了汽车动画就很简单了,展开控件面板,找到UCWheel用户控件,向汽车动画控件(UCCar)引入两个(一个前轮,一个后轮),调整其位置,和大小就OK了;

     4.3、在引用非SL官方标准控件时,会在XAML中引入控件命名空间如“xmlns:local="clr-namespace:SilverlightCar.UControl"”,在XAML中通过“<local:UCWheel Canvas.top="186" Canvas.left="39"/>”这样的方式引入或者创建用户控件;

     4.4、汽车动画代码如下:

     5、创建背景动画(全景图、斑马线动画):

        有了一些Blend设计础后创建立全景和斑马线动画就比较容易了,直接来代码:

 

 

@H_502_174@using System;using System.Collections.Generic;using System.linq;using System.Net;using System.windows;using System.windows.Controls;using System.windows.documents;using System.windows.input;using System.windows.Media;using System.windows.Media.Animation;using System.windows.Shapes;namespace SilverlightCar.UControl{ public partial class ucmainBg : UserControl { public ucmainBg() { InitializeComponent(); this.Loaded += new RoutedEventHandler(ucmainBg_Loaded); } voID ucmainBg_Loaded(object sender,RoutedEventArgs e) { sbMoveMainBg.Begin(); sbRunRoad.Begin(); } }}

     6、在主场景中组合上面的动画元件完成整个动画功能:

      做到这大功快要告成了,引入上面创建的用户控件,调整其位置大小,F5运行完成。

 

     结语:上面场景中动画都是在Blend中设计完成的,要使动画重复执行只需要在storyboard中设置 RepeatBehavior="forever"。欢迎大家拍砖。如需源代码请留Email。

总结

以上是内存溢出为你收集整理的Silverlight4.0 应用demo1 飞驰汽车动画全部内容,希望文章能够帮你解决Silverlight4.0 应用demo1 飞驰汽车动画所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1035369.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-24
下一篇 2022-05-24

发表评论

登录后才能评论

评论列表(0条)

保存