(此文原作于2011年8月,有所删改)
前言
本次解读的是XNA Game Studio的一个微软官方模板——RolePlayingGame。
这个模板应用于2D的角色扮演游戏,平台对应Windows PC和XBOX 360,版本为XNA Framework 4.0,编程语言使用C# 4.0,集成开发环境为Visual Studio 2010。本文以Windows平台为主。
本人初学XNA,本文难免有错漏之处,仅供学习交流。
解决方案与项目的关系
解决方案的属性(设置)
启动项目:单启动项目:RolePlayingGameWindows
配置:活动(Debug)
平台:活动(Mixed Platforms)
项目的属性(设置):RolePlayingGameWindows.csproj
XNA Game Studio - Game profile:Reach或HiDef均可
XNA Game Studio - Game thumbnail:GameThumbnail.png
应用程序–程序集名称:RolePlayingGame
应用程序–默认命名空间:RolePlaying
应用程序–目标框架:.NET Framework 4 Client Profile
应用程序–输出类型:Windows应用程序
应用程序–资源–图标:Game.ico
生成–条件编译符号:WINDOWS
生成–定义DEBUG常量:勾选
生成–定义TRACE常量:勾选
项目的属性(设置):RolePlayingGameProcessors.csproj
应用程序–程序集名称:RolePlayingGameProcessors
应用程序–默认命名空间:RolePlayingGameProcessors
应用程序–目标框架:.NET Framework 4
应用程序–输出类型:类库
生成–定义DEBUG常量:勾选
生成–定义TRACE常量:勾选
项目的属性(设置):RolePlayingGameDataWindows.csproj
XNA Game Studio - Game profile:Reach或HiDef均可
应用程序–程序集名称:RolePlayingGameDataWindows
应用程序–默认命名空间:RolePlayingGameData
应用程序–目标框架:.NET Framework 4 Client Profile
应用程序–输出类型:类库
生成–条件编译符号:WINDOWS
生成–定义DEBUG常量:勾选
生成–定义TRACE常量:勾选
功能
音频管理AudioManager,屏幕管理ScreenManager,输入管理InputManager,(图层)块引擎TileEngine,会话状态Session,战斗引擎CombatEngine,队伍Party,字体Fonts,物品Gear,内容处理扩展库RolePlayingGameProcessors,数据RolePlayingGameData等。
运行流程
主循环流程
主要的类图
类及其成员
小结
在使用了该模板后发现,该模板在架构上做得很不错,扩展性很好。
使用该模板进行开发时,改动比较大的地方有:
1.TileEngine的移动方式;
2.CombatEngine的战斗形式,改变原有的经典回合制;
3.各种Screen的调整。
新增的内容主要有:
1.文本管理,支持大量文本以及多种语言;
2.GameSettings项目,将游戏的一些基本设置集中到该项目中,方便管理。