Silverlight 解谜游戏 之四 粒子特效

  前几篇一直在Blend中工作没体现出开发者的作用,本篇将为订书器(Stapler)添加自定义粒子效果,当订书器被点击时产生更好的视觉效果。其中将使用到nerdplusart 的Silverlight Particle Generator 粒子特效工具。

在结束本章内容后,点击Stapler 和Candies 将达到以下效果:

Get Microsoft Silverlight

 

 

1. 在Projects面板中新增Interactivity 文件夹,再为Interactivity 新增ParticlesBehavior 子文件夹:

folder

2. 右键ParticlesBehavior文件夹->Add New Item->Behavior,添加ParticlesBehavior

newitem

itemlist

3. 下载Silverlight Particle Generator 源代码,将代码中的ParticleControl.xaml 和ParticleControl.xaml.cs 文件加入(Add Existing Item)到ParticlesBehavior 文件夹:

file

4. 右键项目点击“Edit in Visual Studio”,对PaticlesBehavior.cs进行编辑来跟踪鼠标移动位置。将ParticlesBehavior 类声明改为Behavior<Canvas>,通过修改后AssociatedObject 类型将成为Canvas。在OnAttached 和OnDetaching 方法中分别添加和删除MouseMove 事件,当鼠标移动时便可记录下当前鼠标位置:

public class ParticlesBehavior : Behavior<Canvas>
{private Point currentMousePosition;public ParticlesBehavior(){this.ShowParticles = new ActionCommand(this.OnShowParticles);}protected override void OnAttached(){base.OnAttached();AssociatedObject.MouseMove += new MouseEventHandler(AssociatedObject_MouseMove);}protected override void OnDetaching(){base.OnDetaching();AssociatedObject.MouseMove -= new MouseEventHandler(AssociatedObject_MouseMove);}void AssociatedObject_MouseMove(object sender, MouseEventArgs e){currentMousePosition = e.GetPosition(null);}public ICommand ShowParticles{get;private set;}private void OnShowParticles(){ParticleControl p = new ParticleControl();p.OffsetX = currentMousePosition.X;p.OffsetY = currentMousePosition.Y;AssociatedObject.Children.Add(p);}
}

 

5. VS里编译后回到Blend,在Assets->Behavior 中将会看到ParticlesBehavior 选项,将ParticlesBehavior 加入LayoutRoot中:

beh

点击Triggers右侧的“+”按钮添加新EventTrigger;点击EventTrigger将SourceName设为staplerPath,EventName设为MouseLeftButtonDown;再次点击“+”为可为其他物品添加ParticlesBehavior特效。另,在ParticlesBehavior.cs中增加一些代码,便可出现下图中Particles Properties设置窗口(详情可下载源代码):

setting

6. 在Blend中F5,点击图片中的订书器(Stapler)便会出现粒子效果(但其不会自动消失),再点击Candies也会出现粒子效果,问题是所有的粒子效果仍然不能消失。打开ParticleControl.xaml.cs 进行编辑:  
    a. 在ParticleControl 类中定义int 型totalParticlesCreated 
    b. 将this.particles.Count 替换为totalParticlesCreated  
    c. 在SpawnParticle方法最后添加totalParticlesCreated++ 
至此粒子效果就会自动消失了。

 

7. 最后为staplerPath添加RemoveElementAction,目的是为了每个物品只能点击一次:

remove

removelist

将SourceName 和TargetName 都设置为staplerPath,EventName依然为MouseLeftButtonDown:

removetrigger

源代码下载:





本文转自Gnie博客园博客,原文链接:http://www.cnblogs.com/gnielee/archive/2010/01/02/silverlight-puzzle-game-part4.html,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/278830.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CS229 1 .线性回归与特征归一化(feature scaling)

线性回归是一种回归分析技术&#xff0c;回归分析本质上就是一个函数估计的问题&#xff08;函数估计包括参数估计和非参数估计&#xff09;&#xff0c;就是找出因变量和自变量之间的因果关系。回归分析的因变量是应该是连续变量&#xff0c;若因变量为离散变量&#xff0c;则…

注册表被黑客篡改 怎样修复_使用快速注册表黑客设置Office 2007配色方案

注册表被黑客篡改 怎样修复We’ve written previously about how to set the Office 2007 color scheme away from that awful default blue, but you can also set it with a quick registry hack or even via group policy on your network, so we’ll cover that here. 前面…

共享计算机后无法访问磁盘,win10电脑共享硬盘无法访问如何解决

很多用户为了方便文件的传输和访问&#xff0c;就会在局域网中开启硬盘共享&#xff0c;正常是可以通过网络打开访问该用户计算机的磁盘从而读取数据文件&#xff0c;可是有win10系统用户却发现共享硬盘无法访问&#xff0c;武大直接通过网络打开对方的磁盘&#xff0c;该如何处…

如何组合救援磁盘以创建最终Windows修复磁盘

We’ve covered loads of different anti-virus, Linux, and other boot disks that help you repair or recover your system, but why limit yourself to just one? Here’s how to combine your favorite repair disks together to create the ultimate repair toolkit for…

WebService C#开发/调用

简单描述C#开发WebService操作步骤以及调用方式 WebService开发 第一步&#xff1a;创建Web空项目 第二步&#xff1a;为创建的Web空项目添加Web服务 第三步&#xff1a;实现WebService方法(仅供参考) 运行WebService测试 第一步&#xff1a;运行WebService程序&#xff0c;略 …

C语言第九次博客作业--指针

一、PTA实验作业 题目1&#xff1a;两个4位正整数的后两位互换 1. 本题PTA提交列表 2. 设计思路 定义循环变量i,两个数组a[4],b[4] for i0 to 3a[i]*p取各个位*p/10 end for i0 to 3b[i]*q取各个位*q/10 end 分别对*p和*q重新赋值 3.代码截图 4.本题调试过程碰到问题及PTA提交列…

使用CEOP增强的Internet Explorer 8帮助保护您的孩子

Do you want to make Internet Explorer safer and more helpful for you and family? Then join us as we look at the CEOP (Child Exploitation and Online Protection Centre) enhanced version of Internet Explorer 8. 您想使Internet Explorer对您和家人更安全&#xf…

MAC--PPTP教程

第一步点击DocK-系统设置 第二步点击网络&#xff0c;进入网络设置 第三步点击号-创建新服务&#xff0c;创建新的网络连接 第四步接口-选-类型-选-PPTP服务名称-选-然后点击-创建 第五步进入设置页面-服务器地址点击查看虚拟IP列表账户名称-输入试用帐号或是你已充值开通的帐号…

2015计算机应用基础平时作业答案,2015秋《计算机应用基础》第一次作业

2015秋《计算机应用基础》第一次作业 一、单项选择题。本大题共50个小题&#xff0c;每小题 2.0 分&#xff0c;共100.0分。在每小题给出的选项中&#xff0c;只有一项是符合题目要求的。 1. 第一台电子计算机是1946年在美国研制成功的&#xff0c;该机的英文缩写名是______。 …

页面置换算法及例题

一、页面置换算法 不适当的算法可能会导致进程发生“抖动”&#xff1a;即刚被换出的页很快又要被访问&#xff0c;需要将他重新调入&#xff0c;此时又需要再选一页调出。而此刚被调出的页面很快又被访问&#xff0c;又需将它调入&#xff0c;如此频繁地更换页面&#xff0c;以…

vista磁盘使用100%_如何在Windows 7或Vista中创建和使用密码重置磁盘

vista磁盘使用100%Forgetting your password can be an extremely frustrating situation, and we’ve already shared how to reset your password with the Ultimate Boot CD as well as the System Rescue CD, but you can prevent the situation entirely by creating a pa…

Nginx服务状态的监控

一、安装Nginx 使用源码编译安装&#xff0c;包括具体的编译参数信息。 正式开始前&#xff0c;编译环境gcc g 开发库之类的需要提前装好。 安装make&#xff1a; yum -y install gcc automake autoconf libtool make 安装g: yum install gcc gcc-c 一般我们都需要先装pcre, zl…

计算机二级高级应用这么难,计算机二级考试越来越难的实锤!真实数据告诉你到底难在哪里?...

今年3月考试成绩暂时未公布(预计在5月中旬发布)&#xff0c;通过率暂时无法得知。但是根据考后后台反馈情况&#xff0c;今年通过率可能再创新低。不管你是不是有感知&#xff0c;计算机二级通过率的确在逐年降低。近3年难度越来越大每次考试结束后后台评论最多的就是“今年的考…

windows 系统监视器_使用Windows 7中的可靠性监视器对计算机问题进行故障排除

windows 系统监视器Windows Vista introduced us to the Reliability and Performance Monitor utility to help keep track of hardware and software crashes. It’s now a stand alone utility in Windows 7 and we will take a look at how to access and use it. Windows …

powerpoint预览_如何安排PowerPoint幻灯片的时间以进行更有效的演示

powerpoint预览Delivering a presentation is not just about giving good slides, it is also about making sure that our presentation finishes by the time our audience wants to have their tea break—so practicing how long to speak for each slide is essential fo…

在Windows XP中对系统文件(页面文件和注册表)进行碎片整理

In the pursuit for performance, making sure your drive isn’t fragmented is a regular task. The problem is that Windows XP doesn’t allow certain system files to be defragmented without commercial software. What about free solutions? 在追求性能时&#xff…

计算机存有多少游戏,8G和16G的计算机内存之间有很大区别吗?玩游戏需要多少内存?...

大家好&#xff0c;我是Compatible Computer Home的小牛.计算机内存是除CPU外最重要的组件之一. 运行大型软件和多任务处理时&#xff0c;计算机内存量直接影响计算机的流畅性. 许多玩家不知道什么时候第一次购买计算机. 小牛会在今天与您讨论要购买多少内存来购买计算机.首先&…

用SmarterFox替换Internet Explorer的“加速器”

If you’ve had to use Internet Explorer 8, you’ll have noticed a couple of things. It’s getting much easier to use due to its growing number of similarities to Firefox, and it uses a clever feature called the “Accelerator” to try and give it a leg up o…

Win7下搭建外网环境的SVN服务器

最近想跟一帮朋友做点东西&#xff0c;由于几个朋友都身处异地&#xff0c;要想实现版本控制&#xff0c;只能自己搭建一个小的服务器&#xff0c;通过互联网环境来实现版本控制了。本来也在网上找了好多资料&#xff0c;但是总是缺少一些必要的信息&#xff0c;导致最后连接不…

如何在VMware Player中设置和安装Windows Home Server“ Vail”

The new Windows Home Server Beta is available to the public for testing, and you might not have an extra machine to install it on. Here we take a look at using the free VMware Player to install it so you can test it out. 新的Windows Home Server Beta可供公众…