zoukankan      html  css  js  c++  java
  • Windows Phone开发(38):动画之PointAnimation 转:http://blog.csdn.net/tcjiaan/article/details/7536229

    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事件中激活动画,这个大家应该会了。

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

  • 相关阅读:
    docker as engitor及云构建devops选型
    elmlang:一种编码和可视化调试支持内置的语言系统
    engitor:基于jupyter,一个一体化的语言,IDE及通用分布式架构环境
    【Heritrix基础教程之3】Heritrix的基本架构
    Eclipse 快捷键大全
    【Heritrix基础教程之2】Heritrix基本内容介绍
    【Heritrix基础教程之1】在Eclipse中配置Heritrix
    Berkeley DB基础教程
    【搜索引擎Jediael开发笔记】v0.1完整代码
    【搜索引擎Jediael开发笔记】V0.1完整代码
  • 原文地址:https://www.cnblogs.com/songtzu/p/2607101.html
Copyright © 2011-2022 走看看