玩过冒险岛的人都知道有一个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. 执行mysqld_safe报错:mysqld does not exist or is not executable

    执行mysqld_safe报错: [root@edu data]# /usr/local/mysql5.7/bin/mysqld_safe --user=mysql160427 12:41:28 my ...

  2. SQL Server

    1.通过触发器来级联删除: 具体的触发器代码如下: Create TRIGGER [dbo].[DeleteRelatedProducts] ON [dbo].[ProductCategory]  A ...

  3. JS 怎么控制某个div的滚动条滚动到顶部? (已解决)

    获取这个元素,然后设置它的滚动条的位置为初始位置(0,0). document.getElementById(..).scrollTop = 0;

  4. 在.NET Core中遭遇循环依赖问题"A circular dependency was detected"

    今天在将一个项目迁移至ASP.NET Core的过程中遭遇一个循环依赖问题,错误信息如下: A circular dependency was detected for the service of ...

  5. Some warning were found during validation

    前几天做一个iOS下的App更新,到上传的时候出了问题,一直传了大半个小时,结果还是没传完,再试依然不行,于是只好关机,把电脑带回家弄. 回家后出现了更奇怪的事,经过漫长等待后,竟然出现这个提示: 我 ...

  6. Functional Programming without Lambda - Part 1 Functional Composition

    Functions in Java Prior to the introduction of Lambda Expressions feature in version 8, Java had lon ...

  7. 七天学会ASP.NET MVC (四)——用户授权认证问题

    小编应各位的要求,快马加鞭,马不停蹄的终于:七天学会 Asp.Net MVC 第四篇出炉,在第四天的学习中,我们主要了学习如何在MVC中如何实现认证授权等问题,本节主要讲了验证错误时的错误值,客户端验 ...

  8. linux java 版本

    之前linux已经安装了1.6的版本, 我想要升级,于是安装了1.7, /etc/profile 的最后几行是这么写的: JAVA_HOME=/usr/java/jdk1.7.0_79JRE_HOME ...

  9. 《Spark大数据处理》—— 读后总结

    前几章 工作机制

  10. Kafka随笔一

    一.KafKa所涉及到的名词概念: 1.    Topic:用于划分Message的逻辑概念,一个Topic可以分布在多个Broker上. 2.    Partition:是Kafka中横向扩展和一切 ...