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事件中激活动画,这个大家应该会了。
好了,这节课就这样很轻松地过了。
Windows Phone开发(38):动画之PointAnimation的更多相关文章
- Windows Phone开发(42):缓动动画
原文:Windows Phone开发(42):缓动动画 前面在讨论关键帧动画的时候,我有意把几个带缓动动画的关键帧动画忽略掉,如EasingColorKeyFrame.EasingDoubleKeyF ...
- Windows Phone开发(41):漫谈关键帧动画之下篇
原文:Windows Phone开发(41):漫谈关键帧动画之下篇 也许大家已经发现,其实不管什么类型的动画,使用方法基本是一样的,不知道大家总结出规律了没有?当你找到规律之后,你会发现真的可以举一反 ...
- Windows Phone开发(40):漫谈关键帧动画之中篇
原文:Windows Phone开发(40):漫谈关键帧动画之中篇 一.DiscreteDoubleKeyFrame 离散型关键帧动画,重点,我们理解一下"离散"的意思,其实你查一 ...
- Windows Phone开发(39):漫谈关键帧动画上篇
原文:Windows Phone开发(39):漫谈关键帧动画上篇 尽管前面介绍的几种动画会让觉得很好玩了,但是,不知道你是否发现,在前面说到的一系列XXXAnimation中,都有一个共同点,那就是仅 ...
- Windows Phone开发(37):动画之ColorAnimation
原文:Windows Phone开发(37):动画之ColorAnimation 上一节中我们讨论了用double值进行动画处理,我们知道动画是有很多种的,今天,我向大家继续介绍一个动画类--Colo ...
- Windows Phone开发(36):动画之DoubleAnimation
原文:Windows Phone开发(36):动画之DoubleAnimation 从本节开始,我们将围绕一个有趣的话题展开讨论--动画. 看到动画一词,你一定想到Flash,毕竟WP应用的一个很重要 ...
- Windows Store App 过渡动画
Windows Store App 过渡动画 在开发Windows应用商店应用程序时,如果希望界面元素进入或者离开屏幕时显得自然和流畅,可以为其添加过渡动画.过渡动画能够及时地提示用户屏幕所发 ...
- Windows Phone开发(46):与Socket有个约会
原文:Windows Phone开发(46):与Socket有个约会 不知道大家有没有"谈Socket色变"的经历?就像我一位朋友所说的,Socket这家伙啊,不得已而用之.哈,S ...
- Windows Phone开发(43):推送通知第一集——Toast推送
原文:Windows Phone开发(43):推送通知第一集--Toast推送 好像有好几天没更新了,抱歉抱歉,最近"光荣"地失业,先是忙于寻找新去处,唉,暂时没有下文.而后又有一 ...
随机推荐
- oracle列合并
在很多场合,我们会须要用到oracle列合并,oracle提供了一些方法用于把某列的多行数据合并成一行. 一.10G曾经使用WMSYS.WM_CONCAT wmsys.wm_concat将字段的值 ...
- PL/SQL批处理语句(BULK COLLECT子句和FORALL语句)
Oracle为PL/SQL中的SQL相关功能提供了FORALL语句和BULK COLLECT子句,显著的增强了SQL相关功能.这两个语句一起被称作PL/SQL的批处理语句.Oracle为什么要提供这两 ...
- C#实现环形队列
概述 看了一个数据结构的教程,是用C++写的,可自己C#还是一个菜鸟,更别说C++了,但还是大胆尝试用C#将其中的环形队列的实现写出来,先上代码: public class MyQueue<T& ...
- 卸载QTP
卸载QTP11.5 1.首先需要卸载QTP11.5,点击exe文件,不点击重启 2.然后删除C:"Program Files"下的Mercury Interactive文件夹.(默 ...
- Hibernate获取Connection
package com.trendcom.base.util; import java.sql.Connection; import java.sql.SQLException; import jav ...
- 在cocos2d-x jsb/html5中设置触摸代理的方法
和官方的说明不同,js binding的很多api和ch5版是不一样的.遇到不一样的就需要我们努力去看源码寻找了. 主要是以下几个文件 cocos2d_specifics.cpp cocos2d_sp ...
- EditTex属性
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tool ...
- vc++远程调试工具
简单来说: 1>在远程机器跑VC自带的远程调试工具msvsmon.exe,并把要调试的程序跑起来 2>用VC调试器附加进程,即可调试 先展开来说: VC8,VC9都自带远程调试工具,可以在 ...
- ANTS Performance Profiler 破解使用
http://blog.csdn.net/wangjia184/article/details/7746089
- opencv MAT数据操作
1.存取单个像素值 最通常的方法就是 img.at<uchar>(i,j) = 255; img.at<Vec3b>(i,j)[0] = 255; 2.用指针扫描一幅图像 对于 ...