角色出生点配置文件

<?xml version="1.0" encoding="utf-8" ?>
<Nodes><Node ID ="1001" RoleName="" Position="13.9f,0.56f,2.64f"/><Node ID ="1002" RoleName="" Position="13.9f,0.56f,2.64f"/><Node ID ="1003" RoleName="" Position="13.9f,0.56f,2.64f"/><Node ID ="1004" RoleName="" Position="13.9f,0.56f,2.64f"/><Node ID ="1005" RoleName="" Position="13.9f,0.56f,2.64f"/>
</Nodes>

游戏关卡配置文件

<?xml version="1.0" encoding="utf-8" ?>
<Nodes><Node ID="1001" No="1" Name="关云长温酒斩华雄" Scene="Map_1001"/><Node ID="1002" No="2" Name="众联军陈兵虎牢关" Scene="Map_1001"/><Node ID="1003" No="3" Name="关云长温酒斩华雄" Scene="Map_1001"/><Node ID="1004" No="4" Name="关云长温酒斩华雄" Scene="Map_1001"/><Node ID="1005" No="5" Name="关云长温酒斩华雄" Scene="Map_1001"/><Node ID="1006" No="6" Name="关云长温酒斩华雄" Scene="Map_1001"/><Node ID="1007" No="7" Name="关云长温酒斩华雄" Scene="Map_1001"/><Node ID="1008" No="8" Name="关云长温酒斩华雄" Scene="Map_1001"/><Node ID="1009" No="9" Name="关云长温酒斩华雄" Scene="Map_1001"/><Node ID="1010" No="10" Name="关云长温酒斩华雄" Scene="Map_1001"/>
</Nodes>

配置文件解析器:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using System.Xml;
using System;
/// <summary>
/// 游戏关卡配置
/// </summary>
public class LevelCfg
{public int ID;public int No;public string Name;public string Scene;
}public class BornPointCfg
{public int ID;public string RoleName;public string Position;
}
public class EasyXMLParse
{private Dictionary<int, LevelCfg> _levelCfg = new Dictionary<int, LevelCfg>();private Dictionary<int, BornPointCfg> _bornPoints = new Dictionary<int, BornPointCfg>();private XmlNodeList GetXMLNodeList(string name){//加载一个XML文本资源TextAsset text = Resources.Load("Config/"+ name) as TextAsset;//构造XML文本解析器XmlDocument doc = new XmlDocument();//将文本资源转化成XML格式doc.LoadXml(text.text);//选择节点路径下的所有节点XmlNodeList nodeList = doc.SelectNodes("Nodes/Node");return nodeList;}/// <summary>/// 解析关卡配置文件/// </summary>/// <param name="name">关卡配置文件名</param>public void LoadLevelCfg(string name){XmlNodeList nodeList = GetXMLNodeList(name);//遍历所有节点并将xml中的数据读取出来for (int i = 0; i < nodeList.Count; i++){XmlNode node = nodeList[i];XmlElement elem = node as XmlElement;elem.GetAttribute("ID");//实例化关卡配置数据模型LevelCfg cfg = new LevelCfg();cfg.ID = Convert.ToInt32(elem.GetAttribute("ID"));cfg.No = Convert.ToInt32(elem.GetAttribute("No"));cfg.Name = elem.GetAttribute("Name");cfg.Scene = elem.GetAttribute("Scene");_levelCfg.Add(cfg.ID,cfg);}foreach (LevelCfg cfg in _levelCfg.Values){Debug.LogError(cfg.ID + "," + cfg.No+"," + cfg.Name+","+cfg.Scene);}}/// <summary>/// 解析出生点的配置/// </summary>/// <param name="name">出生点配置文件名</param>public void LoadBornPointCfg(string name){XmlNodeList nodeList = GetXMLNodeList(name);//遍历所有节点并将xml中的数据读取出来for (int i = 0; i < nodeList.Count; i++){XmlNode node = nodeList[i];XmlElement elem = node as XmlElement;//实例化关卡配置数据模型BornPointCfg cfg = new BornPointCfg();cfg.ID = Convert.ToInt32(elem.GetAttribute("ID"));cfg.RoleName = elem.GetAttribute("RoleName");cfg.Position = elem.GetAttribute("Position");_bornPoints.Add(cfg.ID, cfg);}foreach (BornPointCfg cfg in _bornPoints.Values){Debug.LogError(cfg.ID + ","+ "," + cfg.RoleName + "," + cfg.Position);}}
}

解析游戏关卡配置文件及游戏角色配置文件相关推荐

  1. 游戏开发中的各种角色浅析

    在以往的游戏开发中,我们往往需要处理很多角色,围绕着这些角色的组织形式,解耦等话题,出现了很多复合设计模式.例如:pureMVC,MVVM ,MVC 等等.对于这些设计模式,都是有利有弊,有他自己的使 ...

  2. 【cocos2d-x】游戏构成要素③----游戏关卡的实现

    到目前为止,我们讨论了多个场景和多个层的应用.现在我们来讨论关卡. 大家应该对关卡的概念都很熟悉,所以我不在这里做解释了.设计关卡的难点是决定用什么样的方式来设计基于关卡的游戏. 在Cocos2d-x ...

  3. 使用UE5和Blender实现您的游戏关卡设计视频教程

    使用虚幻引擎5获得一份关卡设计或游戏设计的工作 你会学到什么 了解如何集思广益,创建纸质地图设计 了解用于虚幻引擎的3D建模及其在关卡设计中的作用 知道如何使用Unreal的内置功能快速启动关卡设计创 ...

  4. # 使用Scratch 3.0制作弹球游戏(三)——游戏关卡及难度设计

    目录 使用Scratch 3.0制作弹球游戏(三)--游戏关卡及难度设计 1.第一关 1.1第一关游戏角色需求 1.2第一关游戏玩法设计 1.3角色设计--球 1.4角色设计--接球平台 1.5背景设 ...

  5. 游戏关卡设计的详细介绍

    前些日子看到有朋友询问有关于游戏中的关卡设计问题,趁最近有点小空翻译了这篇文章,希望对新来的朋友有所帮助. 因时间匆忙加上本人水平有限,不免有所错误,英文水平好的朋友还是直接下载原文看吧. 作为一个关 ...

  6. 游戏性的根本——浅谈游戏关卡设计

    文:我本尼摩 注:自己写的一篇关卡设计文,由于本人目前尚不是专业的游戏开发人员,可能有些浅薄之处,望各位提出不足. 关卡,对于我们每个玩游戏的人来说都是一个耳熟能详的名词.自从我们第一次玩游戏以来就接 ...

  7. [书摘]游戏开发核心技术-剧本和角色创造

    [书摘]游戏开发核心技术-剧本和角色创造 by AKara 2010-07-02 @ http://blog.csdn.net/akara @ akarachen(at)gmail.com @weib ...

  8. 如何设计成功的游戏关卡

    关卡,对于我们每个玩游戏的人来说都是一个耳熟能详的名词.自从我们第一次玩游戏以来就接触关卡."你打到第几关了?""你通关了没?"这些熟悉的口头禅成了和朋友开始讨 ...

  9. 游戏关卡,出入口技术2

    游戏性的根本                        --浅谈游戏 关卡设计                                文:我本尼摩 注:自己写的一篇关卡设计文,由于本人目前 ...

最新文章

  1. js、css的阻塞问题
  2. ASP——判断数据库NULL值
  3. antdesignvue upload vue3个人笔记待更新
  4. vb 饼状图显示百分比_Matplotlib-饼图
  5. 百度SDN实践与思考
  6. 大学计算机文档基本操作实验的效果,上海工程技术大学计算机实验报告5
  7. python模块-time,datatime
  8. 不使用设备管理器卸载外设驱动的方法(转)
  9. 微信无法打开xlsx文件_微信打不开文件怎么办显示excel丢失或损坏
  10. 基于springboot的医院体检预约管理系统
  11. 春节无法回家,为中国残疾人联合会春晚文字直播活动、为全国聋人朋友提供网络软件技术服务...
  12. 传奇设置云服务器的端口,传奇服务器端口设置详细攻略详细操作分享
  13. 《Fundamentals of Computer Grahpics》虎书第三版翻译——第四章 光线追踪
  14. 从0到一开发微信小程序(6)—小程序常用API
  15. Arduino用超声波测距模块HC-SR04获得精确测量值——误差数据的排除
  16. UNREFERENCED_PARAMETER()宏函数
  17. 数据库设计(一) 需求分析
  18. 【OR】约束优化:二阶充分条件
  19. 移动端tab切换时下划线的滑动效果
  20. 如何创建Win 7系统快速启动栏

热门文章

  1. 超高频工业PDA手持机的应用方案
  2. 字节跳动前端面经凉经(半年经验社招)待填坑
  3. 入门的第一个C++程序。从键盘输入学生姓名,然后输出指定格式的内容。
  4. 将ibd恢复进数据库
  5. 等比数列二分求和(首项为0次项与1次项的方法)
  6. 位运算:找出唯一成对的数、找出落单的数
  7. 系统分析与设计课程知识点总结
  8. 2017ACM暑假集训总结
  9. 目前主要的计算机汉字输入方法是什么,计算机汉字输入方法专利_专利申请于2001-03-28_专利查询 - 天眼查...
  10. 骇客白访谈——不要做理想主义者,要做一个实干家——《调试者说》播客——许友昌