场景编辑器的功能强大且灵活,从设计之初我已毫不惭愧的将其定位到“让Silverlight游戏场景架设更简单、更快捷”这样一个高度。源码公布后,很多朋友均迫切想知道如何将其运用到实际的游戏制作中。其实,为了能让大家更轻松的掌握此编辑器的架构原理及应用,我早已计划好在后续教程中陆续为大家展示讲解大量的基于此场景编辑器构建的经典游戏Demo,比如《三国策》、《仙剑奇侠传》、《梦幻模拟战》、《帝国时代》等等。本节,我肩负着艰巨的使命,目的是教会大家如何通过VS2008修改此场景编辑器,并创建出一款全新的,完全可以用你自己名字命名的Silverlight游戏Demo,有些心动了吧?赶快动手吧~
第一步,我们要确定新游戏的名字,为了方便大家练习,就叫它NewGame吧。
OK,接下来大家打开VS2008,点击文件->打开->项目/解决方案->找到场景编辑器源码中的QXSceneEditor.sln并打开,然后在“解决方案资源管理器”中分别对“解决方案QXSceneEditor”、“QXSceneEditor”、“QXSceneEditor.Tools”、“QXSceneEditor.Web”这4个节点右键->重命名:“解决方案NewGame”、“NewGame”、“NewGame.Tools”、“NewGame.Web”:
第二步,按下Ctrl+F,切换到快速替换选项卡,将“QXSceneEditor”全部替换成“NewGame”,设置查找范围为“整个解决方案”进行项目内所有名称的全部替换:
并将NewGame.Web项目中保存所有Silverlight程序图片的文件夹QXSceneEditorResource改名为NewGameResource:
第三步,分别对“QXSceneEditor”、“QXSceneEditor.Tools”、“QXSceneEditor.Web”这3个节点右键->属性,将所有的“QXSceneEditor”字样替换成“NewGame”:
第四步,按Ctrl+Shift+B对整个解决方案进行编译,如果大家都按以上步骤顺序一点一点认真做下来的,那么编译肯定会成功。
第五步,点击文件->关闭解决方案。接下来我们找到程序所在的QXSceneEditor文件夹,并将其中的“QXSceneEditor”、“QXSceneEditor.Tools”、“QXSceneEditor.Web”3个文件夹分别重命名为:“NewGame”、“NewGame.Tools”、“NewGame.Web”:
第六步,通过记事本打开NewGame.sln,将其中的3个“QXSceneEditor”替换成“NewGame”,这样NewGame.sln才能识别并启动以上3个项目:
最后,我们通过VS2008再次打开这个全新的NewGame.sln,按下Ctrl+F5,嘿嘿,运行下游戏看看吧~仅仅几分钟而已,一个属于你自己的游戏框架诞生啦~
有朋友提意见了:其实我们完全可以通过创建一个新的Silverlight项目,并逐个将场景编辑器项目中的素材、类、文件等资源添加到该项目中,这样或许更简单些。当然,如果源解决方案中的资源少,结构简单是完全可行的;但是,如果源解决方案中包含有N多素材,且其中项目之间或项目内部存在着错综复杂的关系,用此方法很容易导致编译出大量错误,事半功倍。通过本文的讲解,我希望大家学会的不仅仅是修改,细心的朋友应该能领悟到另外一番意味:如能轻松驾奴Silverlight项目,深刻理解项目间的关系,以及它们是如何被启动,衔接,最终天衣无缝的紧密结合在一起并完美协作,这才到达了本文的最终目的。
说到这,我特别想对一些刚接触Silverlight的新朋友们解释一下关于项目中资源的问题。一直以来时常有朋友问我:我仅仅是替换掉了源码中的素材图片,并未修改过任何代码,可是运行时却怎么也显示不了新图片,很是奇怪?这里我想强调一下,向Silverlight项目中(注意,不是指Web项目)添加新对象,例如添加新图片,必须在项目中相应的地方如Images文件夹上右键->添加->新建项或现有项:
或者是通过点击->显示所有文件->将文件夹中的相应文件->包含在项目中这些处理方式:
而不能直接通过“我的电脑”将文件“粘贴”或“替换”到项目文件夹中,因为项目无法识别在其外部进行的资源操作,切记!
一切就绪了,你准备好了吗?新的游戏在你手中已变得蠢蠢欲动;内心中那片沉寂已久的激情是时候释放啦。谁是下一个大师?!!!
在线演示地址:http://silverfuture.cn

出处:http://alamiye010.cnblogs.com/
教程目录及源码下载:点击进入(欢迎加入WPF/Silverlight小组 WPF/Silverlight博客团队)
本文版权归作者和博客园共有,欢迎转载。但未经作者同意必须保留此段声明,且在文章页面显著位置给出原文连接,否则保留追究法律责任的权利。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架