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

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

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

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

例一,让直线动起来。

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

    <Grid>
        <Path HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
              Stroke="Orange" StrokeThickness="6">
            <Path.Data>
                <LineGeometry x:Name="lg" StartPoint="25,32" EndPoint="185,97"/>
            </Path.Data>
        </Path>
        <Grid.Resources>
            <Storyboard x:Name="std" RepeatBehavior="Forever" AutoReverse="True">
                <PointAnimation Duration="0:0:5"
                                Storyboard.TargetName="lg"
                                Storyboard.TargetProperty="StartPoint"
                                To="20,375"/>
                <PointAnimation Duration="0:0:5"
                                Storyboard.TargetName="lg"
                                Storyboard.TargetProperty="EndPoint"
                                To="407,490"/>
            </Storyboard>
        </Grid.Resources>
    </Grid>

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

        // 构造函数
        public MainPage()
        {
            InitializeComponent();

            this.Loaded += (sender, e) =>
                {
                    this.std.Begin();
                };
        }

例二,对曲线进行动画。

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

    <Grid>
        <Path HorizontalAlignment="Stretch" VerticalAlignment="Stretch"
              Stroke="LightGreen" StrokeThickness="12">
            <Path.Data>
                <PathGeometry>
                    <PathFigure StartPoint="180,35">
                        <BezierSegment x:Name="pbm"
                                       Point1="28,180"
                                       Point2="200,270"
                                       Point3="412,700"/>
                    </PathFigure>
                </PathGeometry>
            </Path.Data>
        </Path>
        <Grid.Resources>
            <Storyboard x:Name="std" RepeatBehavior="Forever" AutoReverse="True">
                <PointAnimation Duration="0:0:3"
                                Storyboard.TargetName="pbm"
                                Storyboard.TargetProperty="Point1"
                                From="27,162" To="415,145"/>
                <PointAnimation Duration="0:0:3"
                                Storyboard.TargetName="pbm"
                                Storyboard.TargetProperty="Point2"
                                To="600,400"/>
                <PointAnimation Duration="0:0:3"
                                Storyboard.TargetName="pbm"
                                Storyboard.TargetProperty="Point3"
                                To="10,700"/>
            </Storyboard>
        </Grid.Resources>
    </Grid>

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

 

 

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

 

时间: 2024-11-23 01:35:28

Windows Phone开发(38):动画之PointAnimation的相关文章

【万里征程——Windows App开发】动画1

这个效果比较简单,就是在启动时,控件会稍微有那么一点点的滑动效果. <UserControl.Resources> <Style x:Key="EntranceButtonStyle" TargetType="Button"> <Setter Property="Transitions"> <Setter.Value> <TransitionCollection> <Entranc

windows store app-windows store APP 开发storyboard动画问题

问题描述 windows store APP 开发storyboard动画问题 各位大神,请赐教,小弟初学.刚学习win8 商店应用开发,想做个小动画,如下:首先把图片随便弄好 也定义好了projection, 然后定义两个移动,一个Y轴垂直移动 一个Z轴旋转的storyboard 我想实现一张图片可以直线拐弯直线拐弯最后回到原来位置 那么问题来了,两个storyboard 单独放在两个不同按钮里 是可以实现的.现在我放在一起 ,想让它一直转,就定义了个定时器 private static Th

Windows Phone开发(40):漫谈关键帧动画之中篇

原文:Windows Phone开发(40):漫谈关键帧动画之中篇 一.DiscreteDoubleKeyFrame 离散型关键帧动画,重点,我们理解一下"离散"的意思,其实你查一下<新华字典>,"离"和"散"的意思相近.我们可以这样解释:每个关键帧之间是直接过渡,其间不经过动画插补.似乎这样理解有点苦涩难懂,所以,我们还是从实例入手. 请参考以下XAML代码写一个示例: <Grid Loaded="OnGridLoa

Windows Phone开发(36):动画之DoubleAnimation

原文:Windows Phone开发(36):动画之DoubleAnimation 从本节开始,我们将围绕一个有趣的话题展开讨论--动画. 看到动画一词,你一定想到Flash,毕竟WP应用的一个很重要的框架是Silverlight,在WP中也发挥了Silverlight的许多优点,可能不少人说,Silverlight就是和Flash差不多吧,当你深入了解了Silverlight后,你会发现,其实不然,Silverlight更偏重于数据处和企业级应用.   好了,F话不多说,开始吹我们今天的牛皮吧

Windows Phone开发(41):漫谈关键帧动画之下篇

原文:Windows Phone开发(41):漫谈关键帧动画之下篇 也许大家已经发现,其实不管什么类型的动画,使用方法基本是一样的,不知道大家总结出规律了没有?当你找到规律之后,你会发现真的可以举一反六的,不骗你. 为了能帮助大家找到规律,今天,我们再来写两个例子.   一.DiscreteObjectKeyFrame 简单介绍一下这个吧,它只是为了方便我们进行一些大的切换而提供,但它也不是万能的,尽管它的目标类型是object类型,前提是它与其它动画一样,只能针对某对象的某属性进行动画处理.与

Windows Phone开发(42):缓动动画

原文:Windows Phone开发(42):缓动动画 前面在讨论关键帧动画的时候,我有意把几个带缓动动画的关键帧动画忽略掉,如EasingColorKeyFrame.EasingDoubleKeyFrame和EasingPointKeyFrame,其实为数不多,就这么几个.因为我希统一放到这节课程来吹一下缓动函数. 所谓缓动函数,就是我们在代数里面说的函数,说白了嘛,就是根特定的函数规则,用输入的值算出最终值,使得动画在两个关键帧之间不再是均衡过度,而是带有加/减速或其他效果,当然,还要取决于

Windows Phone开发(39):漫谈关键帧动画上篇

原文:Windows Phone开发(39):漫谈关键帧动画上篇 尽管前面介绍的几种动画会让觉得很好玩了,但是,不知道你是否发现,在前面说到的一系列XXXAnimation中,都有一个共同点,那就是仅仅针对两个值的目标值之间产生动画,如果使用By,将在原值和加上By后的目标值之间进行动画处理:如果使用From,To,那就更好理解了,就是首尾两个值之间值的动画. 那么,如果我希望三个值呢?或者N多个值呢?每个值之间的时间间隔不一样呢?如果我还希望更复杂的动画效果呢?比如可以附加缓动函数的.显然,前

Windows Phone开发(37):动画之ColorAnimation

原文:Windows Phone开发(37):动画之ColorAnimation 上一节中我们讨论了用double值进行动画处理,我们知道动画是有很多种的,今天,我向大家继续介绍一个动画类--ColorAnimation. 其实,它和DoubleAnimation也是很像,毕竟所谓动画,无非就是在特定的时间段内,把一个值变为另一个值的一种过度形式.故ColorAnimation就是用于颜色过度动画的.其中,以下几个属性我们只需简单关注一下即可:   1.By:相对于初始值所更改的值的总量.这个属

Windows 8开发入门(六)Windows 8中的Popup使用方式

在上一篇文章中我们将了替代Silverlight中MessageBox的MessageDialog控件,本篇文章将讲诉另外一种弹 出提示窗口的控件Popup. 一.我们认识Popup控件的IsLightDismissEnabled属性,这个属性设置为 true的时候,点击非Popup控件外任何区域将关闭Popup. <Button Content="弹出窗口一" Name="btn1" Width="108" Margin="16