Windows Phone开发(38):动画之PointAnimation

PointAnimation也是很简单的,与前面说到的两个Animation是差不多的,属性也是一样的,如By、From、To,不同的是,PointAnimation是目标值从一点到另一个点。

我有理由相信,大家一定懂的,所以,我不多介绍了,给两个例了热一下身就行了。

例一,让直线动起来。

这个例子,以LineGeometry作为动画的目标对象,通过对StartPoint属性和EndPoint属性进行动画来让直线(其实是线段)动起来。

  1. <Grid>  
  2.     <Path HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  
  3.           Stroke="Orange" StrokeThickness="6">  
  4.         <Path.Data>  
  5.             <LineGeometry x:Name="lg" StartPoint="25,32" EndPoint="185,97"/>  
  6.         </Path.Data>  
  7.     </Path>  
  8.     <Grid.Resources>  
  9.         <Storyboard x:Name="std" RepeatBehavior="Forever" AutoReverse="True">  
  10.             <PointAnimation Duration="0:0:5"  
  11.                             Storyboard.TargetName="lg"  
  12.                             Storyboard.TargetProperty="StartPoint"  
  13.                             To="20,375"/>  
  14.             <PointAnimation Duration="0:0:5"  
  15.                             Storyboard.TargetName="lg"  
  16.                             Storyboard.TargetProperty="EndPoint"  
  17.                             To="407,490"/>  
  18.         </Storyboard>  
  19.     </Grid.Resources>  
  20. </Grid>  


记得了,在页面的Loaded事件中激活动画。

  1. // 构造函数  
  2. public MainPage()  
  3. {  
  4.     InitializeComponent();  
  5.   
  6.     this.Loaded += (sender, e) =>  
  7.         {  
  8.             this.std.Begin();  
  9.         };  
  10. }  


例二,对曲线进行动画。

本例对BezierSegment的三个点进行动画,即使贝塞尔曲线“游动”起来。

  1. <Grid>  
  2.     <Path HorizontalAlignment="Stretch" VerticalAlignment="Stretch"  
  3.           Stroke="LightGreen" StrokeThickness="12">  
  4.         <Path.Data>  
  5.             <PathGeometry>  
  6.                 <PathFigure StartPoint="180,35">  
  7.                     <BezierSegment x:Name="pbm"   
  8.                                    Point1="28,180"  
  9.                                    Point2="200,270"  
  10.                                    Point3="412,700"/>  
  11.                 </PathFigure>  
  12.             </PathGeometry>  
  13.         </Path.Data>  
  14.     </Path>  
  15.     <Grid.Resources>  
  16.         <Storyboard x:Name="std" RepeatBehavior="Forever" AutoReverse="True">  
  17.             <PointAnimation Duration="0:0:3"  
  18.                             Storyboard.TargetName="pbm"  
  19.                             Storyboard.TargetProperty="Point1"  
  20.                             From="27,162" To="415,145"/>  
  21.             <PointAnimation Duration="0:0:3"  
  22.                             Storyboard.TargetName="pbm"  
  23.                             Storyboard.TargetProperty="Point2"  
  24.                             To="600,400"/>  
  25.             <PointAnimation Duration="0:0:3"  
  26.                             Storyboard.TargetName="pbm"  
  27.                             Storyboard.TargetProperty="Point3"  
  28.                             To="10,700"/>  
  29.         </Storyboard>  
  30.     </Grid.Resources>  
  31. </Grid>  


后台代码就是在Loaded事件中激活动画,这个大家应该会了。

 

 

好了,这节课就这样很轻松地过了。


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值