浅谈2D游戏设计模式2- WZ文件详解(UI.WZ)之MapLogin.img(1)
玩过冒险岛的人都知道有一个WZ文件,那么这个WZ文件的内部是怎么样的呢,今天我就带大家一探究竟。
说实在的,我这是第一次接触WZ文件,但是却让我很震撼,为什么很震撼,因为这个居然是用VS2010写的!还是.NET,我TMD居然就是搞.NET程序设计的,
早知道早点问@卧室好人要WZ文件了,哈哈。
言归正传,既然自己是一个编程方面的菜鸟,多多少少还是知道一些的。下面就带大家来研究WZ文件,也希望一些大神能提供一些帮助。
这个系列的只是从WZ的表面研究,并没有深入源代码,待我到时候反编译(或者问本人要到源码PS:能要到是最好的)
开始吧~~~
首先我们打开WZCOMPARER2这个软件,打开UI.WZ文件。
然后我们看到这里有很多.img结尾的文件,不过说句实话,我不太相信WZ里只有这种类型的文件,因为我们得到的仅仅是客户端,
也就是说真正的核心代码在服务端,我们是看不到的,囧~~~这是最烦人的。
我们还是来一点一点解析吧。
- 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不久。今天就写到这里了。
__EOF__
作 者:ღKawaii
出 处:https://www.cnblogs.com/kmsfan/p/4034962.html
关于博主:一个普通的小码农,为了梦想奋斗
版权声明:署名 - 非商业性使用 - 禁止演绎,协议普通文本 | 协议法律文本。
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!

出处:http://www.cnblogs.com/kmsfan
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
欢迎大家加入KMSFan之家,以及访问我的优酷空间!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?