一起谈.NET技术,WPF Multi-Touch 开发:惯性效果(Inertia)

  从上一篇实例可以发现在图片移动过程中如果将手指移开屏幕则图片会立刻停止,根据这种情况WPF 提供另外一种惯性效果(Inertia)。通过它可以使UI 单元移动的更加符合物理特性、更为实际和流畅。

  在前面代码的基础上还需要为<Canvas> 增加ManipulationInertiaStarting 事件。

<Canvas x:Name="touchPad" Background="Gray"                ManipulationStarting="image_ManipulationStarting"  ManipulationDelta="image_ManipulationDelta"ManipulationCompleted="image_ManipulationCompleted"ManipulationInertiaStarting="image_ManipulationInertiaStarting">

  image_ManipulationInertiaStarting 事件内容如下代码,分别对TranslationBehavior、ExpansionBehavior、RotationBehavior 进行设置,使其具备惯性特征。

private void image_ManipulationInertiaStarting(object sender, ManipulationInertiaStartingEventArgs e){    e.TranslationBehavior = new InertiaTranslationBehavior();    e.TranslationBehavior.InitialVelocity = e.InitialVelocities.LinearVelocity;    e.TranslationBehavior.DesiredDeceleration = 10.0 * 96.0 / (1000.0 * 1000.0);

e.ExpansionBehavior = new InertiaExpansionBehavior();    e.ExpansionBehavior.InitialVelocity = e.InitialVelocities.ExpansionVelocity;    e.ExpansionBehavior.DesiredDeceleration = 0.1 * 96 / 1000.0 * 1000.0;

e.RotationBehavior = new InertiaRotationBehavior();    e.RotationBehavior.InitialVelocity = e.InitialVelocities.AngularVelocity;    e.RotationBehavior.DesiredDeceleration = 720 / (1000.0 * 1000.0);}

  程序演示

  通过下面视频可以看到在进行Manipulation 时,图片都已具备惯性效果。

  相关文章

  1. WPF Multi-Touch 开发:Windows 7 安装多点触屏模拟器

  2. WPF Multi-Touch 开发:基础触屏操作(Raw Touch)

  3. WPF Multi-Touch 开发:高级触屏操作(Manipulation)

  源码下载:WpfInertia.zip

时间: 2024-09-20 05:57:47

一起谈.NET技术,WPF Multi-Touch 开发:惯性效果(Inertia)的相关文章

一起谈.NET技术,网络硬盘开发技巧之ASP.NET+XML

文件传送常用的三种方式FTP.Email及"网上邻居"都在一定程度上实现了文件数据的交流,但它们都主要面向"点对点"的传送,无法实现"一块空间,资源互见"的应用需求,这种基于"点对多"的共享模式需要寻求另外的传输途径,网络硬盘就是一种很好的解决方式.常用传输方式及其在特定环境下面临的困难我们经常有这样的应用需求:通过网络交换公共数据文件以实现资源共享,同时保护私有数据不被非法访问,并使用简单.直观的方式操作. 英国Ewedri

一起谈.NET技术,Silverlight 游戏开发小技巧:传送点特效制作

前面我们使用投影(Projection)完成了一个升级的特效,Silverlight故事板动画相当的容易,这次我们将详细说说故事板动画的帧制作,完成一个循环的传送点特效,大家都知道,在游戏中,传送点一般是固定在某一个地方,循环播放,它通常表明这里会有一个事件之类的特殊地点,我们将用前面的升级特效稍微改造,就可以得到了: 这个系列只是有关于游戏开发的小技巧,相比纯粹的技术文章要简单一些,我个人感觉可能更加偏向于Blend美工方面的工作,能够为各位Silverlight开发者带来一些新的思路,就是一

一起谈.NET技术,Silverlight 游戏开发小技巧:动感小菜单

网页应用受限于自身的浏览器范畴,不能把华丽效果完全展示,正是因为如此,在网页上诞生了无数绚丽的设计,虽然动感程度和桌面应用无法比拟,但是在UI上却下足了功夫,用户体验可以说无以伦比,比如说小小的菜单,在桌面游戏还停留在四态按钮的时候,网页应用都已经入动感时代了,这次,使用Silverlight实现一个小菜单,体验一下动感吧 当鼠标移入的时候,目标的图标就会放大,形成一个阶梯的效果,要实现这个效果,将需要使用自定义控件和StackPanel的知识. 现在在一个Silverlight工程中添加新控件

一起谈.NET技术,Silverlight 游戏开发小技巧:轨迹跟随效果

我们通常在游戏中有各种各样的粒子效果,其中有一种就是跟随鼠标发生的轨迹动画,在鼠标经过的地方会产生一些特效,这种方式我们在粒子当中经常使用,本篇使用一个简单的例子再次将粒子系统改善,更加精简更加高效. 如果有兴趣的同学可以读一下以前的:Silverlight C# 游戏开发:绚丽的粒子特效-粒子效果(二) 但是这今次实现方法更加简单更加偏向于美术设计师,因为这次的编程将基本上在Blend中实现. 在继续往下看之前,你需要了解MouseMove事件,以及基本的控件.故事板的知识,只有这样在下面的操

一起谈.NET技术,Silverlight 游戏开发小技巧:血条和进度条

游戏中血条的显示非常普遍,直观的看到人物生命状态,还有看其他人的生命状态,血条并非只应用在界面当中,玩家自身和怪物的生命值显示也都会实时的出现在游戏场景当中,好的血条效果可以为游戏增光不少,这次咱们就简单的制作几个血条. 看着园子里Silverlight越来越繁荣,甚是欣慰,因为就在去年,还仍然在为Silverlight技术感到孤单,如今有了这么多并肩作战的兄弟们,除了欣慰也甚狂喜,对于Silverlight还是没有看走眼啊. 血条的做法有多种,一般来说都是做成一个独立的控件,这样方便的放在任何

一起谈.NET技术,Silverlight 游戏开发小技巧:动感小菜单2

动感小菜单其实是想模仿Apple的菜单按钮设计制作,但是画虎不成反类犬,看起来有点别扭,昨天各位园友提了这方面的建议,感觉太硬如果加入动画可能更好,非常感谢各位,而今天这篇的动感小菜单2,让按钮更加动感"柔"顺:)期望能做的更好吧. 我们可以直接借助昨天的工程,在上面的基础上修改,打开昨天的工程(Silverlight 游戏开发小技巧:动感小菜单): 直接选定一个StackPanel的Group,然后按住Alt键复制一个,为了方便编程,这次我们将它制作成一个控件: 在结构里面直接选择刚

一起谈.NET技术,漫谈.NET开发中的字符串编码

         在< .NET 4.0面向对象编程漫谈>基础篇<13.2.1 序列化与流>中,向大家介绍了如何向流中序列化一个对象.          本篇扩充阅读将向读者介绍将字符串对象的序列化,这里面的关键是字符串应该如何编码和解码为二进制数值,从而可以把它们保存到文件流(FileStream)中,或者通过网络流(NetworkStream)将它们远程发送到另一台计算机上. 1 引子          在实际开发中,经常需要将一些字符串写入到文本文件中,或者从文本文件中读入字

一起谈.NET技术,Silverlight 游戏开发小技巧:传说中的透视跑马灯

昨夜元宵佳节,各种灯会热闹非凡,伴随烟火灿烂好不热闹,可惜一点也没看着T_T,那就写一个跑马灯吧,可是跑马灯并不稀奇,各位高手们已经写过而且都各有特点,所以,写也要写点有特色的才好,游戏中经常能看到一种带有透视的选人界面,上次写的是一个固定效果,那么这次带上点动画,结合一个Silverlight的MVC开发小技巧快速完成它. 仍然继续偷懒,借用之前的控件:Silverlight 游戏开发:简单的技能条系统 把Card控件拿出来,然后做一下简单的修改,然后打开XAML文件,填入如下的代码: 这是给

一起谈.NET技术,使用MonoDevelop开发GTK#图形界面

Mono一直到现在的2.8已经完全可以胜任一些比较小的项目了,但相关的开发文档与教程一直比较匮乏,中文材料更是屈指可数.虽然Mono与.net很多类库都是通用的,但Mono仍然有为数不少的扩充类库,其中最重要的就是对于GTK二次封装的GTK#图形界面类库了,目前想要开发原生的Mono图形界面程序此类库必不可少.在MonoDevelop里已经支持对于GTK#界面设计的直接拖放,有相关经验的开发人员可以很快上手. Mono官方网站上也有一篇GTK#开发的入门文档:Stetic GUI Designe

一起谈.NET技术,Silverlight 游戏开发小技巧:星球大战字幕效果

各位科幻迷可能对星球大战的字幕效果印象深刻,这个电影字幕表现手法曾经风靡大小美国影片,甚至超人影片和电视也曾经用此来做开场和结尾字幕,今天我就将这个效果在blend里面制作技巧告诉大家,下面是星球大战的图片: 可能大家觉得这做成一个游戏开发技巧有点牵强,我计划以此作为引子,引出有关于Silverlight特效制作的关键知识点--Projection,在直接翻译上是投影的意思,但是一般我们称之为3D变换,RenderTransform一般是2D的变换,如果使用了Projection那么就能弄出非常