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

Project1

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

[有事请教] 如何实现《废都物语》式地图探索?(4月20日最终版)

[复制链接]

Lv2.观梦者

梦石
0
星屑
624
在线时间
189 小时
注册时间
2011-4-15
帖子
66

开拓者

跳转到指定楼层
1
发表于 2019-3-17 21:44:15 | 只看该作者 |只看大图 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 yuxuan1177 于 2019-4-20 18:27 编辑

4月20日已更新最终效果
……
新人正在做游戏,画师和脚本都就绪了。
准备用废都物语式的地图探索机制,但是《废都物语》之中的地图探索,是使用图块直接替换的命令,而在RMMV里面并不存在这种设计。
试过用全事件覆盖地图的方式,但平铺事件让地图变得很卡
也试过把地图拆成图片,但是角色图层在图片下面,而且图多也卡
请问,有没有简单便捷的实现方式呢?




……
第一次更新
……
感谢6Lwabcmcc大大和26Ltseyik大大的插件
目前已经半成功实现
方法:
利用MrTS_DarkRoomCovers.js将区域涂色成战争迷雾
利用TMRegionColor.js实现功能:区域替换(例如将区域1替换成区域2)
利用TMRegionPassable.js实现功能:区域通行限制
实现过程:
在插件MrTS_DarkRoomCovers.js中,将区域1设置为不涂色,区域2设置为迷雾,这样,区域1就是透明,而区域2则是黑色
利用TMRegionPassable.js,设置区域1为通行状态,区域2为不通行状态
利用TMRegionColor.js的指令,设置并行事件:唤出插件将区域2替换成区域1

不过有一个问题,就是区域替换之后,需要走一步黑色区域才会变化,效果有些不太理想……而且每一次变化都是临时的,所以必须要设置成并行事件……
但除此之外,功能倒是完全实现了
插件位置:
MrTS_DarkRoomCovers.js
https://github.com/Trivel/RMMV/blob/master/MrTS_DarkRoomCovers.js
TMRegionColor.js+TMRegionPassable.js
https://hikimoki.sakura.ne.jp/plugin/plugin_map.html



实现方法2:
在MrTS_DarkRoomCovers.js的基础上
利用RED_SetRegionID.js实现https://github.com/Hikitsune-Red ... /RED_SetRegionID.js
这个插件可以更改指定图块的区域,(X,Y,regionId),实现效果最直接,但需要一个个在地图上设置命令,小地图还好,大地图就需要一长串的指令,可以说是需要多少个图块,就需要多少个指令,当然,可以设置成区域,但也很繁琐……而且调整区域之后,同样需要走一步才能实现效果
这个方法的优点是,只需要设置一次,不需要用并行事件再度调整
问题都是一样
综合而言,方法1最简单
目前在想为啥需要走一步才会启动区域替换……

……
再度更新
……
现在已经完全实现效果
采用的是方法2调整
插件:
MrTS_DarkRoomCovers.js
TMRegionPassable.js
RED_SetRegionID.js

实现步骤:
1、使用脚本(非插件命令)$gameMap.setTileId(x,y),可以去除当前脚本的区域图块,变更为区域0,或者(X,Y,regID)调整为任意区域,不过这里实现效果用区域显示
2、在脚本下面加上一行插件命令RegionReveal [regID],从而将当前区域更变为透明的效果
3、在事件结束之后,当前区域图块立刻显示为透明,在行动了一步之后,$gameMap.setTileId(x,y)命令生效,将已经变成透明的区域变更为区域0
4、在地图出入口执行RegionReset命令,也就是将所有透明图块复位成迷雾,而之前的那些区域已经被修改为了区域0,所以并不会变成黑色
效果实现。
略有繁琐,但目前效果最好,而且没有多图层,只有单纯的几个命令,资源占用应该也不大,目前最完美效果
黑色区域为限制通行区域,看不到下层的地图,并且也无法通行,第二张图为触发了第一张的事件点之后开放,区域可以进入
第一张图比较暗,是因为顺便测试了一下手电筒效果


……
继续更新,失败了
如果前一张地图的大小和后一张一样,区域替换会被继承导致地图提前开放,无法解决……Orz
……

……
4月20日更新
……
找到最终解决方案了。
那就是设立一个并行事件。
并行事件设立RegionReveal 和changeRegion [指定区域] 0
这两个命令
然后在地图跳转口设立RegionReset命令
这样就解决
效果最好,就是害怕事件导致运行效率下降……
……
20日再度更新
……
区域替换对效率影响不大,现在可以安心使用了

这是实现临时清除迷雾效果

这是在特定地点使用道具挖开新路的效果

QQ图片20190420182148.png (91.63 KB, 下载次数: 16)

QQ图片20190420182148.png

评分

参与人数 1+1 收起 理由
白嫩白嫩的 + 1 精品文章

查看全部评分

Lv3.寻梦者

梦石
0
星屑
3475
在线时间
1161 小时
注册时间
2016-8-9
帖子
2391

开拓者

42
发表于 2019-4-27 20:11:15 | 只看该作者
感谢楼主解决问题后回来分享心得
酸酸甜甜就④哇噢
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
624
在线时间
189 小时
注册时间
2011-4-15
帖子
66

开拓者

41
 楼主| 发表于 2019-4-27 16:06:05 | 只看该作者
tseyik 发表于 2019-4-21 10:45
我做的範例(基本不會卡)

R251可通行,R252不可通行(TMRegionPassable.js)

这种方式是用特定的地方作为阻隔,而且需要细分地图,实际制作的话,会有些麻烦
而我要的是下图这种方式
我之前在帖子最下面更新了一下方案,感觉还不错,目前在尝试用那种方案

QQ图片20190427160434.png (71.35 KB, 下载次数: 18)

QQ图片20190427160434.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
21977
在线时间
8570 小时
注册时间
2011-12-31
帖子
3362
40
发表于 2019-4-21 10:45:25 | 只看该作者
本帖最后由 tseyik 于 2019-4-21 10:52 编辑

我做的範例(基本不會卡)
Project11.zip (867.22 KB, 下载次数: 124)
R251可通行,R252不可通行(TMRegionPassable.js)

背景圖+其他圖(透視0指定)MV Layer Graphics

只用了Layer Graphics和TMRegion两個(共3個)

指定圖C002(透視255指定)

R252未改不能通行

15,10由252改成25l




回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
2544
在线时间
181 小时
注册时间
2017-11-4
帖子
4
39
发表于 2019-4-21 04:04:50 | 只看该作者
唉,全事件会卡的吗
我17年只做过小小的例子还以为能行
就是用的事件的方法
可以用不规则的大图当显示的图像
开关切换后先变成步行动画逐渐消失在切换到透明图像
因为是大图,一个事件能堵一大片不规则区域

通行的问题也很好解决
放几块透明事件(优先级与人物相同)堵路
开关切换后变优先级设为在人物下方就可以通过了
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
624
在线时间
189 小时
注册时间
2011-4-15
帖子
66

开拓者

38
 楼主| 发表于 2019-4-20 18:28:07 | 只看该作者
差不多搞定了,系统框架这边没啥大问题了
现在在制作脚本中~
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
624
在线时间
189 小时
注册时间
2011-4-15
帖子
66

开拓者

37
 楼主| 发表于 2019-4-20 12:38:01 | 只看该作者
找到新的解决方案了,现在先这样用用看吧
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
624
在线时间
189 小时
注册时间
2011-4-15
帖子
66

开拓者

36
 楼主| 发表于 2019-4-20 04:44:25 | 只看该作者
tseyik 发表于 2019-3-30 19:22
Galv's的MV Layer Graphics
可以實現樓主的希望

刚刚尝试了之前的方法,又出了新问题,结果依然无法实现
这个效果可真难啊……
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
624
在线时间
189 小时
注册时间
2011-4-15
帖子
66

开拓者

35
 楼主| 发表于 2019-4-6 14:54:22 | 只看该作者
tseyik 发表于 2019-3-26 12:09
我的方法
1:用一副圖當遠景圖(地圖)

如主楼所示,我已经基本成功解决了
过两天有时间,做一点效果出来
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
624
在线时间
189 小时
注册时间
2011-4-15
帖子
66

开拓者

34
 楼主| 发表于 2019-4-6 13:40:22 | 只看该作者
wabcmcc 发表于 2019-3-18 22:29
Mr. Trivel:MrTS_DarkRoomCovers.js
用區域ID顯示特定區域的圖塊,或隱藏特定區域的圖塊.
[fold=MrTS_DarkRo ...

感谢,利用本插件已经实现了基础的功能,现在的问题是,在更改区域的时候,需要走一步才会更改,具体的情况如主楼新调整的那样
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

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

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

GMT+8, 2024-5-7 23:13

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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