玩过冒险岛的人都知道有一个WZ文件,那么这个WZ文件的内部是怎么样的呢,今天我就带大家一探究竟。

说实在的,我这是第一次接触WZ文件,但是却让我很震撼,为什么很震撼,因为这个居然是用VS2010写的!还是.NET,我TMD居然就是搞.NET程序设计的,

早知道早点问@卧室好人要WZ文件了,哈哈。

言归正传,既然自己是一个编程方面的菜鸟,多多少少还是知道一些的。下面就带大家来研究WZ文件,也希望一些大神能提供一些帮助。

这个系列的只是从WZ的表面研究,并没有深入源代码,待我到时候反编译(或者问本人要到源码PS:能要到是最好的)

开始吧~~~

首先我们打开WZCOMPARER2这个软件,打开UI.WZ文件。

然后我们看到这里有很多.img结尾的文件,不过说句实话,我不太相信WZ里只有这种类型的文件,因为我们得到的仅仅是客户端,

也就是说真正的核心代码在服务端,我们是看不到的,囧~~~这是最烦人的。

我们还是来一点一点解析吧。

  1. MapLogin.img

这个顾名思义了,就是我们从一个地图到另一个地图的时候所载入的事件,比如我们从出租车那里去其他地图,那么触发的应该就是这个事件了。我们点开看看。

发现了很多东西啊,我们还是来一个一个解析吧,如果遇到类似的我就跳过了,

  • Info
  • back
  • 0~7的数字
  • reactor
  • foothold
  • ladderrope
  • minimap
  • portal

好吧,我也不说累,再累能比设计WZ的人更累?所以就一个一个来解析吧。

点开INFO我们可以看到:

Version:版本号

Cloud:云端,应该是一个代号,学过计算级的人都知道云技术,我想这应该是一个代号吧。

StreeName:街道名称(街道名称),这里的意思是匿名,也就是说我们并没有选择一副地图,当运行游戏的时候,这里的名字就是地图的具体名字了,比如神木村。

mapName:地图名称

mapdesc:我个人猜测这应该是地图的一些详情信息(MapDescription)

bgm:地图的音乐,BgmUi/Title ,这里说的应该是一个类似形参的东西,用这个来匹配对应的地图。

town:村子,应该是地图最小一级的单元,0为未载入。

returnMap:返回的地图,比如我进入了神木村的地图,那么就返回这个地图的代码?我猜的。

forcedReturn:强制返回,这里应该是和测谎仪机制有关系,当触发了某种事件以后,强制返回到某个地图,当然这里面的算法暂时不讨论。

mobRate:聚集率,我想的是这个应该是和打怪有关的,比如战神的连击的成功率,我只是打个比方而已,其实具体的我不是很了解。

mapMark:大家都知道的,MARK一下,也没什么用,地图的标记。

hideMiniMap:隐藏地图,也是用数字 来表示具体是哪个地图。

fieldLimit,就是指的地图区域的范围限制,因为是2D的地图,所以我觉得应该是长和宽的乘积吧。

swim:这个是一个很有意思的属性,游泳,比如诺特斯特有几幅地图有水。

fly:飞天,这个在御龙魔里有用到,当然了,外挂是不是修改这个东西我就不知道了。

nomapcmd:cmd应该理解为一个入口,这句话就是没有地图入口,有些地方因为是一个单独的地图,比如活动地图,没有出口,只能自动传送回去。

onFirstUserEnter:第一个用户进入,然后XXX办。

onUserEnter:当用户进入的时候,就XXX样。

fieldScript:这个可以理解为网页当中写脚本吧,我反正是这么理解的,游戏当中的一些脚本代码,由服务端传入客户端。

其他的还要慢慢研究下,毕竟才接触WZ不久。今天就写到这里了。

浅谈2D游戏设计模式2- WZ文件详解(UI.WZ)之MapLogin.img(1)的更多相关文章

  1. 浅谈2D游戏设计模式3 - 冒险地图之美(1)

    冒险岛之所以能长久的存在,很大一部分原因是因为它的美工设计的非常的精细,以及独特,那么独特以及美究竟体现在哪些方面呢? 今天我就带大家来分析几幅地图吧. 好吧,我们就拿上面这幅美景来分析吧. 1.阳光 ...

  2. 浅谈2D游戏设计模式--游戏剧情设计(1)

    博主不才,人生有2大爱好,写程序和玩游戏,本人玩的又是一款2D的在旁人看来弱智的网络游戏. 这款游戏在中国的名称叫做冒险岛,不知道园子里有没有人玩过. 我打算有空的话,就把我玩游戏中的心得和程序结合起 ...

  3. Java 反射 设计模式 动态代理机制详解 [ 转载 ]

    Java 反射 设计模式 动态代理机制详解 [ 转载 ] @author 亦山 原文链接:http://blog.csdn.net/luanlouis/article/details/24589193 ...

  4. PE文件详解(六)

    这篇文章转载自小甲鱼的PE文件详解系列原文传送门 之前简单提了一下节表和数据目录表,那么他们有什么区别? 其实这些东西都是人为规定的,一个数据在文件中或者在内存中的位置基本是固定的,通过数据目录表进行 ...

  5. 巨人大哥谈Web应用中的Session(session详解)

    巨人大哥谈Web应用中的Session(session详解) 虽然session机制在web应用程序中被采用已经很长时间了,但是仍然有很多人不清楚session机制的本质,以至不能正确的应用这一技术. ...

  6. vue-cli生成的模板各个文件详解(转)

    vue-cli脚手架中webpack配置基础文件详解 一.前言 原文:https://segmentfault.com/a/1190000014804826 vue-cli是构建vue单页应用的脚手架 ...

  7. yum是什么?repo文件详解,epel简介,yum源的更换,repo和epel区别

    yum是什么?repo文件详解,epel简介,yum源的更换,repo和epel区别 简单概括: repo和epel的关系 repo是配置源的,即配置从哪里下载包(以及依赖关系)的. epel是作为桥 ...

  8. web.xml文件详解

      web.xml文件详解 Table of Contents 1 listener. filter.servlet 加载顺序 2 web.xml文件详解 3 相应元素配置 1 listener. f ...

  9. Linux中/proc目录下文件详解

    转载于:http://blog.chinaunix.net/uid-10449864-id-2956854.html Linux中/proc目录下文件详解(一)/proc文件系统下的多种文件提供的系统 ...

随机推荐

  1. 1002. A+B for Polynomials (25)

    题目链接:https://www.patest.cn/contests/pat-a-practise/1002 原题如下: This time, you are supposed to find A+ ...

  2. oracle--导出、导入blob类型的字段

    blob是oracle中的一个数据类型,保存的是压缩后的二进制形式的大数据. 数据迁移如果涉及到blob字段,都不好处理,因为无法用常规方法进行操作,如:使用select查看该字段,也无法用inser ...

  3. ASP.NET中基本语言特性

    自动属性 public string Name { get; set; } 对象与集合的初始化 //自动推断类型//集合的初始化 var Products=new List<Product> ...

  4. 微信支付:JSAPI支付一直提示URL未注册

    今天意外碰上了这个问题,想想微信的坑真多…… 解决办法: 首先要看微信公众号里的 支付授权目录 是否已正确填写,还要验证 url大小写 必须相同 其次查看一下自己请求的地址是否与上面填写的是否一样!u ...

  5. Android操作HTTP实现与服务器通信(转)

    Android操作HTTP实现与服务器通信   本示例以Servlet为例,演示Android与Servlet的通信. 众所周知,Android与服务器通信通常采用HTTP通信方式和Socket通信方 ...

  6. 介绍.NET 开发必备工具 .NET Portability Analyzer

    随着.NET的原来越开放,不仅仅是开源这么简单了,也意味着.NET程序员要关注越来越多的平台,涵盖.NET Mic Framework, Xamarin,Mono,.NET等等,从windows到li ...

  7. ASP.NET Core中使用URL重写

    ASP.NET Core 1.1 Preview 1 中新增了 URL Rewriting middleware ,终于可以进行 URL 重写了,实际使用体验一下. 首先要将 ASP.NET Core ...

  8. python自动化测试(3)- 自动化框架及工具

    python自动化测试(3) 自动化框架及工具 1   概述 手续的关于测试的方法论,都是建立在之前的文章里面提到的观点: 功能测试不建议做自动化 接口测试性价比最高 接口测试可以做自动化 后面所谈到 ...

  9. MySQL COLUMNS分区

    200 ? "200px" : this.width)!important;} --> 介绍 COLUMN分区是5.5开始引入的分区功能,只有RANGE COLUMN和LIS ...

  10. Hystrix框架2--超时

    timeout 在调用第三方服务时有些情况需要对服务响应时间进行把控,当超时的情况下进行fallback的处理 下面来看下超时的案例 public class CommandTimeout exten ...