本节无法为大家再次呈现更多的游戏更新,仅仅是对目前引擎的一些BUG修复以及增加简单的自定义Loading界面。用最后的一点元气,我想谈谈Silverlight在游戏图片音乐等素材的资源部署方面的问题。在常规的Web网页游戏开发中,需要分清哪些资源是必须在游戏加载时就要完整下载的,哪些资源是在玩家进入游戏后才根据实际需要动态下载的。例如一个玩家刚登陆游戏,那么首先需要Loading他所处地图的Mini地图图片(通常也就几十K最多了),该图片可以作为雷达地图与寻路地图的背景,这在第41、42节已做详细介绍;其实它还存在着神奇的第三个用途。大家不妨打开一下Google的图片搜索,搜索出来的图片都是缩略图,当你点击一张图片时,主窗口首先将这张缩略图拉伸放大填充窗口,此时看到的当然是模糊的图片,但总比放一把红X好吧。而于此同时Google会同时去动态加载该图片的原图,一旦下载完成即替换掉缩略图,最终展示出该图的实际图片到主窗口中:

DeepZoom其实不也是类似的原理吗,当然,它的技术更加复杂些。讲到DeepZoom,大家是否会联想到Silverlight的DeepEarch?开始有些觉醒啦~?不妨再看一图:

这是一张Web RPG游戏截图,模糊的区域即是还未加载的地图部分,一旦该区域图片被加载后,将被替换掉,类似这样的地图缓冲技术在很多领域得以应用,做法又是多种多样的,总的目的就是不失游戏趣味性与性能的前提下提升游戏的品质~,在Silverlight中该如何处理呢?说了这么多原理应该难不倒大家吧。^ ^

游戏中一张缩略图能为三处所用,真乃物尽其用;另外的,大家是否还注意到了上图中那个叫“小海”的NPC。由于他刚进入主角的视线范围,正处于素材下载阶段,因此显示的是一张透明的人偶图片;与地图一样,一旦该NPC的素材图片下载完全后,它的真实图片将替换掉目前的图例:

这样做的好处可想而知,在游戏动态资源下载与游戏画面的展示方面进行平衡性处理,这就是Web RPG类型游戏设计的精髓所在。

从2009年5月23日时至今日历时8个多月的教程编写即将画上句号,无所谓别离与感伤,我与朋友们一路谈笑风生走来,尽情的释放与宣泄着对Silverlight游戏开发的激情!从无知到慢慢的开始感兴趣,由兴趣转化为学习的动力,最终迸发出自身极限潜能 -- 与银光的完美融合。不知有多少朋友与我一样,一起走过了这段令人神往的旅程。

用50节来结束这部《C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial)》不多也不少了;前30节浅浅的,从一笔一画开始,没有过多的修饰却富含着深刻的体验与耐心,通过这30节,让我结识了现在群里诸多同样致力于Silverlight深度开发的高手,这是我一生的财富与荣幸,也是一份我倍感珍惜的缘分;后20节在大量的华丽中仍坚持着严谨,整个教程开始由算法向美工方向发展,我希望更多的向读者传达一些思想:Silverlight开发其实是算法、架构、美工与创意的完美结合,当这些元素水乳交融之时,奇迹将会诞生!

是否仍有些遗憾?这是当然的。毕竟最初打算完成单机RPG的所有功能的愿望未能实现,计划中还有诸如:任务系统、宠物系统、坐骑系统、物品掉落系统、消息提示系统、动态多国语言切换、怪物多类型攻击(人工智能AI进阶)、Buff And DeBuff(魔法附加属性及效果进阶)等功能模块还未能添加进引擎。个人业余时间实在有限,如要以记流水帐的方式将教程死皮赖脸的延续下去,我宁可就此打住。

同样的原因导致由于教程后期对游戏引擎功能不断添加,无法对每次的需求增加进行有利的重构,至似现在的引擎结构比较混乱,这也是我打算结束这部教程的另一个因素;但这并不意味着终结,因为新的开始正在孕育,理想中那将是一个根基更深,更为强大,更趋于和谐的新的征程,我时刻准备着。

留给大家的一点点心意:本教程的Word文档(作者仍强烈建议大家以多看Blog为主,特别是每篇文章后的评论,往往谜底就孕育其中)。如果大家能从中体会到作者的用心良苦,我倍感欣慰。很多朋友曾质疑我写教程的目的,是否是微软的枪手亦或是有利可图??这时常让我感到憋屈:作者.net技术真的很一般,你大可以理解教程中大量存在着用它人图片来美化自己的途径,更有高人察觉到些许的诈骗之嫌,也有朋友毫不吝惜的批判:传说中的深蓝色真的视金钱如粪土???如果论奉献是一种财富,感谢上帝,I got it。我不是21世界的雷锋,但我一直信仰着一种精神!早已被中国IT界所遗忘的Dark Blue Spirit --通过毫不吝惜的努力去证实自身存在的价值的多方面体现:交流与共同提升;与众高手相互切磋强过独自闭门造车千百倍。

回首,从5岁开始玩电子游戏,玩了20多年的游戏,从FC到PC,从单机到网游,从日本-韩国-美国到中国,在我大学毕业前,只要你说的出名字的游戏我全玩过。依旧记得19岁那年,我在家玩英文版的《恶魔城》,做软件开发的姨父刚从美国回来探亲,我开玩笑的问他其中的一句对话翻译成中文是什么意思,出乎我意料,他口气很差的说:你这么喜欢玩游戏,干嘛不自己做一个?一句话缔造了现在的这部教程。一个小肚鸡肠的人时刻铭记着自己的理想与信念,他无时不在渴望着去制作一款属于自己的游戏,感谢这20年的游戏史让他爆发出如此汹涌澎湃的小宇宙。这辈子不再期盼还能为这花花世界创造出啥子奇迹;但求能为大家,为无限热爱的中国那可爱又可狠的IT界贡献一份微薄之力,足以……

感慨,在人生前进的道路中谁不曾迷茫过,当今中国的大学生为什么总感觉在这社会中找不到自己的定位?寒窗十数载到底学到了什么?你对自己真的了解吗?你是否有察觉到了自己身体中与众不同的东西在蠢蠢欲动?是的,那才是你的价值,冲动创造魔鬼,懦弱与逃避是背叛历史,惟有理想与信念才能铸就永恒。我一直对我的学生说,不要用你的软肋去就业,释放你引以为豪的专长,前途一片光明!!

前些天收到了Chris Swenson写来的一封电子邮件,虽然很简短,但是字里行间无处不体现微软Silverlight开发团队已高度迫切的注意到了Silverlight在开发大型网络游戏方面的巨大潜力与商机!我很兴奋,这是机遇呀,于是我第一时间回复了他:在中国,据我了解,已经有很多公司正在从事或在今年即将打算从事Silverlight方面的游戏开发,对于使用Silverlight这样新兴技术,用于有如此庞大潜力市场的领域,在中国,乃至世界上都前所未有!但是我们做到了,因为我们一直坚信微软能将Silverlight4乃至后面的版本做得更好,强大的后盾让我们义无返顾。如果能让我提个意见的话,那就是快些,快些,再快些,让渲染来得更猛烈些吧!!2D仅仅只是个开始,玩转3D -- 我虔诚的期待着某天Silverlight将引领世界RIA的革命风暴!这是我们所有Silverlight爱好者共同的梦想!

遥远的彼岸一道新的曙光已悄然浮现,深深的遥望......

所有源码请到目录中下载,在线演示地址:http://cangod.com

教程完)

作者:深蓝色右手
出处:http://alamiye010.cnblogs.com/
教程目录及源码下载:点击进入(欢迎加入WPF/Silverlight小组 WPF/Silverlight博客团队)
本文版权归作者和博客园共有,欢迎转载。但未经作者同意必须保留此段声明,且在文章页面显著位置给出原文连接,否则保留追究法律责任的权利。

C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(五十) 终章!新的曙光!...相关推荐

  1. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十八) 完美精灵之八面玲珑(WPF Only)②...

    紧接着上一节,首先得解释一下为什么需要将这272张图片合成为一张大图.因为如果游戏中还有装备.坐骑等其他设置,那么我们就需要对图片源进行时时的合成:同时对272张甚至更多的图片进行合成效率高还是对2张 ...

  2. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十)斜度α地图的构造及算法...

    在当前的网络游戏中,地图基本都是采取一定斜度的拼装地图,这其中存在两种斜度地图的构造方式: 第一种我称之为伪斜度地图:该类型地图表现层图片为斜度的,但地图基底障碍物等的构造则实为正方形,如下图: 其实 ...

  3. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(十四) 精灵控件横空出世!①

    在上一节中,我们实现了地图牵引式移动,同时还遗留着一个小尾巴:主角和障碍物该如何跟随着地图的移动而移动? 上节中有点到,只要在地图移动的同时,时时根据主角等对象物体的X,Y坐标进行相对于地图的X,Y坐 ...

  4. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):目录

    本系列教程的示例代码下载(感谢 银光中国 提供资源分流): 第一部分源码:WPFGameTutorial_PartI(1-20节) 第二部分源码:WPFGameTutorial_PartII(21-2 ...

  5. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二)让物体动起来②

    第二种方法,CompositionTarget动画,官方描述为:CompositionTarget对象可以根据每个帧回调来创建自定义动画.其实直接点,CompositionTarget创建的动画是基于 ...

  6. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(一)让物体动起来①

    序:自从QXGame(WPF GAME ENGINE)游戏引擎公布以来,受到很多朋友的热切关注,于是乎有了写教程的想法.那么从今天开始,我将带领大家一步一步的学会如何使用纯C#开发WPF/Silver ...

  7. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十五)完美捕捉精灵之神器 -- HitTest...

    怪物们都出现了,如何选中自己心仪的怪是主角目前首要做的事. 为了进行鼠标状态区别,我首先对鼠标变化规则进行约束:当鼠标在屏幕上空旷地图区域移动时,鼠标光标形态表现为默认光标 (0号光标图片),当鼠标经 ...

  8. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四)实现2D人物动画①

    通过前面的学习,我们掌握了如何动态创建物体移动动画,那么接下来我将介绍WPF中如何将物体换成2D游戏角色,并通过使用前面所讲的DispatcherTimer计时器来实现2D人物角色的各种动作动画. 动 ...

  9. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(四十九) 落雷!治疗!陷阱!连锁闪电!多段群伤!魔法之终极五重奏②...

    本节,我将完成本教程示例游戏的最终两个魔法:传说中的连锁闪电与暴风雪.如此经典与华丽的家伙无论在哪款好游戏中都少不了它们的踪影. 首先是连锁闪电,在<英雄无敌>中体现得尤为出色,击中一个怪 ...

  10. C#开发WPF/Silverlight动画及游戏系列教程(Game Tutorial):(二十六)通用型角色头像面板...

    目前游戏的开发进度已经基本实现了精灵对象之间的普通交互,接下来我们需要朝着实现战斗系统的目标前行.而实现它的前提是必须完善精灵控件的基本属性,如添加生命值.魔法值.活力值.经验值等基本属性并通过窗体界 ...

最新文章

  1. Zookeeper与Paxos
  2. C语言计算分段函数pta,PTA浙大版《C语言程序设计(第3版)》题目集 练习2-11 计算分段函数[2] (10分)...
  3. C语言编译器不检查数组下标越界
  4. c语言block内部的实现原理,iOS中block变量捕获原理详析
  5. IDEA多款主题颜色推荐!炫酷经典!
  6. [学习笔记]韦尔奇.鲍威尔法(Welch Powell)
  7. 为什么你玩lol遇到的队友都是坑(适用于所有moba游戏)
  8. 传华为公司又一名技术部员工乔向英猝死
  9. matlab gradient函数原理
  10. 微信小程序自定义页面标题
  11. 百度竞价推广怎么做?需要注意哪些?
  12. 日本工资结构(转载--作者:郭昌华)
  13. 小白安装Discuz!Q教程,学不会你过来打我!
  14. 解放军美女网络尖兵,90余昼夜写代码40多万行
  15. ios手游怎么投屏到电脑玩
  16. 所有手机都支持物联卡吗,物联卡为什么手机不能用
  17. 畅游任命韦青为首席游戏开发官 负责天龙及新游开发
  18. 【搜索】C042_openj_哆啦A梦的时光机(暴力 / 记忆化)
  19. Dockerfile配置指令详解
  20. 雷达系列论文翻译(十):Scan registration using segmented region growing NDT

热门文章

  1. applet mysql_applet数字签名_java applet读取mysql_软件数字签名(5)
  2. c语言网吧添加卡,c语言网吧计费系统源代码.docx
  3. gtid mysql failover_说GTID - Failover and Scaleout
  4. 电脑管家怎么整理桌面图标?
  5. 十八.描述符(__get__,__set__,__delete__)
  6. Ubuntu18 mongodb 离线安装
  7. SVN提示is already locked 解决办法
  8. centos7 网卡命名
  9. FPGA图像处理 两路sensor的色调不一致
  10. win10cmd输入java_win10肿么输入cmd 输入java