WEB开发网
开发学院软件开发C语言 C#开发WPF/Silverlight动画及游戏系列教程(Game T... 阅读

C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十四)制作主角属性面板及加点器

 2010-09-30 22:36:17 来源:WEB开发网   
核心提示: 根据前面对RepeatButton工作原理的描述,在这种模式下,C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十四)制作主角属性面板及加点器(5),我通过创建一个DispatcherTimer,当它Tick时触发public event EventH

根据前面对RepeatButton工作原理的描述,在这种模式下,我通过创建一个DispatcherTimer,当它Tick时触发public event EventHandler RepeatClick;事件。其中配合控件自身的 MouseLeftButtonDown、MouseLeftButtonUp及MouseLeave来开停Timer及设置它的间隔。

接着,我们就可以将此控件应用到主角属性面板中制作属性加点器了。配合上相应逻辑,当属性点数加完并提交后,主角的新属性值会立即更新反映到界面中。按照第二十八节的属性设置,主角拥有5大基本属性,当修改这些属性时会分别影响相关的值数据。例如,默认情况下主角的智慧为30,魔法攻击基本伤害范围为460-615(不包括魔法自身的攻击力),此时用激光魔法攻击敌人可造成约600左右伤血:

C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十四)制作主角属性面板及加点器

查看原图(大图)

而当我将智慧加到200并点击确定后,魔法攻击到了3010-4015,此时攻击敌人可以造成3500左右的伤害,很酷吧。嘿嘿:

C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十四)制作主角属性面板及加点器

查看原图(大图)

本教程示例游戏中,我为主角赋予了1000点的潜能点,大家可以自由分配到不同的属性上,例如增加力量属性可以增加物理攻击力,增加体格可以提升血上限及防御等,增加敏捷可以加快移动及施法速度等,增加幸运可以提高暴击率等等,测试起来还是相当有趣的呢~

不过目前的属性加点器还不能通用,毕竟不同的游戏中加点器的实现都有差异。例如有些只有加没有减,每次点击都会直接提交,这种处理最简单;而有的每次加点都会直接反应到界面上,且中途如果不满意取消后又会恢复原样,这种模式做起来相对复杂些,需要一些临时字段来存储数据,只有提交后才更新到服务器。本节功能上我选择了折中的处理方式。

游戏中的面板基本上大同小异,前面章节中的对象监视面板、雷达地图面板、寻路地图面板、主角属性面板的制作基本上含盖了大多数情况,后面的章节我将不再围绕面板这个罗嗦的话题了,打算将重心放到装备、物品、技能存放与拖动的实现方面,敬请关注。

本节源码请到目录中下载,在线演示地址:http://silverfuture.cn

出处:http://alamiye010.cnblogs.com/

上一页  1 2 3 4 5 

Tags:开发 WPF Silverlight

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接