设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 168|回复: 1
打印 上一主题 下一主题

[交流讨论] 关于Map.json里地图块id含义

[复制链接]

Lv2.观梦者

梦石
0
星屑
404
在线时间
37 小时
注册时间
2024-4-14
帖子
16
跳转到指定楼层
1
发表于 2024-11-27 12:27:52 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
本帖最后由 滑稽大帝 于 2024-11-27 12:27 编辑

最近也是看了一下rpgmakermv地图那一块的代码,也是看了大概2天,结合网上的一些提示也是学到一些实用的东西,这里也是记录一下
提示文章的链接:https://cowlevel.net/article/2072343

在上结论前先看个分类吧

应该看得出对应关系吧,名字后面都有对应的

以下是第0层的id说明(data数组下标0~width*height)
----------------------A1~A4---------------------------
那么先看A1-A4类图块id的结论吧,A5跟前面BCDE一桌
(data[index]-TILE_ID_A1)/48=编辑器图块上序号
(data[index]-TILE_ID_A1)%48=图库形状序号

什么意思呢,下面给出
--------------编辑器图块上序号---------------

就这样数就行了
--------------图库形状序号------------------
这个先说明一下形状什么意思,先看个图

应该很明显吧,rpgmakermv根据'图库形状序号'选择一个'形状'
再根据选择的'形状'坐标在右边的图中选择四个24x24大小的'小图块'按照顺序拼成48x48的'大图块'绘制地图
实际上,rpgmakermv列出了上图左边那样的'形状'数组有三个

FLOOR_AUTOTILE_TABLE:可以表示(A1的0,1,2,3序号块以及偶数序号块)、(A2全部)
WATERFALL_AUTOTILE_TABLE:可以表示(A1除去1,3的其他奇数序号块)
WALL_AUTOTILE_TABLE:可以表示(A3全部),(A4全部)

-----------------B~A5-------------------------
直接看看rpgmakermv是怎么计算的吧

这个一类id可以直接得到图块在每张图中的
横向序号:[id/128]%2*8+id%8
纵向序号:[(id%256)/8]%16

我觉得也可以理解为为(id-TILE_ID_XXX)/48得到编辑器图块上序号
再除16得y,模上16得x

上述结论怎么验证也比较容易,我们只需要修改Map.json的数据再打开rpgmakermv,只要能看到一种通过编辑器绘制不出来的图形就行了

也可以试着对这三个数按A1~A4的结论式折拼接

点评

可以看一下这层楼的回答 https://rpg.blue/forum.php?mod=redirect&goto=findpost&ptid=487484&pid=2965770&fromuid=2731820  发表于 2024-11-27 14:10

评分

参与人数 2+2 收起 理由
fux2 + 1 精品文章
雷影 + 1 我很赞同

查看全部评分

qq:2785907742 欢迎添加讨论
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2025-1-11 20:03

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表