赞 | 28 |
VIP | 1 |
好人卡 | 12 |
积分 | 10 |
经验 | 18722 |
最后登录 | 2022-3-28 |
在线时间 | 145 小时 |
Lv3.寻梦者
- 梦石
- 0
- 星屑
- 1023
- 在线时间
- 145 小时
- 注册时间
- 2013-10-16
- 帖子
- 271
|
加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 rpg-sheep 于 2017-2-8 09:44 编辑
MV在地图通行方面有Blackroom(隐藏房间)和Indepth(玩家遮罩)两个插件,前者实现了玩家不在房间房间变黑的效果,后者实现了让玩家能在某些墙下面走的功能。
但是优酱经过研究发现,这两个插件都存在致命的漏洞:
Blackroom的坐标需要在地图注释当中手动指定,其不便程度苦了很多地图作者,并且只能长方形遮罩,没法用奇怪的形状。
Indepth有很多BUG,并且他的算法并不是最优。
综上所述,优酱结合两个插件的优点,推翻了它们的算法,重新写出来MapArea,不仅提高了运算效率,还增加了新的功能!并且所有功能都用地图区域描绘。换句话说,不用在去地图注释忙活了。
首先来看一眼插件的设置项:
start和max之间的区域(包括start和max)会被描绘成黑色,每一个区域作为单独的一部分,你可以随意填涂,可以不连续地涂都没有问题。
passList:指定区域角色可以通过,并且会被当前地图的图块遮罩住,可以用来做穿墙。请注意这个数据是可以用英文逗号分隔(注意是英文逗号!!!!!),以达到多种区域遮罩的目的。
blockList:指定区域角色不可以通过。请注意这个数据是可以用英文逗号分隔(注意是英文逗号!!!!!)。
brushList:指定区域角色可以通过,但会变成半透明,类似默砂之歌的效果。请注意这个数据是可以用英文逗号分隔(注意是英文逗号!!!!!)。
soulList:这个插件最强大的地方就在于此,我管它叫“灵魂绑定列表”。它的作用是将多个区域绑定为一个。每组用英文分号分隔,每组中的区域之间用英文逗号。(再强调一遍英文!!!!!)
你应该已经对本插件有了一定了解,但肯定有很多不懂的地方,下面我们进入实战演练,教你用MapArea做一个隐藏房间。
这里有一个房间地图,我希望达成以下功能:
1、玩家在1号房间时能看到4号房间,4号房间能看到1号房间。2和3是独立的两个房间。
1、玩家在5和6走廊时半透明,7和8走廊时穿墙。
那么首先我们来完成第1项目标:
首先,将四个房间涂满四种区域,然后把插件设置中的start填成10,max填成15。
soullist填成10,13(将10号和13号绑定在一起)
运行试试?你会发现你已经完成了第一步,是不是超级简单?
然后我们需要完成第二项目标:
如图,将走廊分别涂成16和18。然后将插件设置中passList写成16,brushList写成18,再运行一下试试?
你可能会发现玩家在16号附近通行不想你一开始想的那样,能走出你设定的范围。这是因为MV默认同种类型的墙可以通行,为了避免这个BUG,你需要设置blocklist为17,然后用17围一圈。
这样玩家就不会乱走了,如果没有出现乱走,17可以不画。基本功能到这里就结束了。
但同时我们发现一个蛋疼的问题:
如图,红色圈圈的区域有问题,这两个区域在房间范围内,应该被涂黑,但是它们又是属于穿墙的情况。被涂黑了就不能穿墙,能穿墙就涂不黑?怎么办?
哈哈!soullist灵魂绑定的强大功能正是体现在此。用它可以做出极为复杂的地图判定,在此优酱仅展示最简单的方案:
把这两个区域分别涂成14和15。(请保证14,15在你的start-max划分范围内)
然后将插件设置中passList写成14,15,16。
然后把14和12绑定在一起,15和13绑定在一起。这样soullist就变成了:12,14;10,13,15
再试试?完美解决!
PS.可能到这里玩家要问了:为什么不给每个地图做自己的设置?这样统一设置很麻烦的。
的确很麻烦,但是这样不会乱。比如你的游戏有20个地图,当你回过头来修改地图的时候,如果每个地图有自己的设置,你会发现你根本不知道哪块是哪块了。后续优酱可能会添加地图注释指定当前地图的passlist这个功能。
目前的建议是:提前准备,比如做这样的设置:
start:10
max:29
passlist:10,11,12,13,14,30
blocklist:15,16,17,18,19,31
brushlist:20,21,22,23,24,32
soullist:10,15,20,25;11,16,21,26;12,17,22,27;13,18,23,28;14,19,24,29;
提前做好设置,然后按照这个去涂对应区域,你会发现得心应手。
PS.2优酱,只能用黑块遮挡么?
后续功能开发中~优酱的思考有用底层图块做遮挡,这个功能已经开发出来了,但是受内存优化限制还没有推出更新,优酱不会发布任何一个消耗多余内存的脚本。
插件下载:
|
评分
-
查看全部评分
|