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

Project1

 找回密码
 注册会员
搜索
查看: 1788|回复: 11

[推荐问答] 如何制作:推箱子到坑然后通行?

[复制链接]

Lv4.逐梦者

梦石
8
星屑
3696
在线时间
380 小时
注册时间
2017-10-11
帖子
154
发表于 2017-11-8 06:05:12 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 CCD0645 于 2017-11-8 06:25 编辑

想必很多游戏都有这种例子,把一个箱子推到一个坑上,然后此坑变得可以通行。
0000000000000000000000.png

但RM做起来意外的不简单
我的思路是这样
1.有一个可以推动的箱子:箱子事件用一个与主角接触触发的事件,然后判断主角面向,移动箱子路线。推到悬崖等地方则用地形标志判断箱子是否掉下去。
2.当箱子掉下去后,箱子坐标上面的坐标通行属性变为通行,且将角色显示在事件前面。

第一步容易做,但第二步这个通行属性该怎么改?有没有事件脚本能改的?
当然,麻烦点的可以在地图这个位置改为原本通行,然后上面建一个透明不通行事件阻挡,然后当箱子到达某位置打开开关,阻挡的事件消失。但这样处理限制性太大,不能做到让人随意推箱子

所以,主要还是想问,有没有事件脚本可更改地图某坐标通行性,有没有事件脚本改变事件图形显示优先级

点评

有,有,见我的四方通行桥用例  发表于 2017-11-8 12:23

评分

参与人数 1星屑 +30 收起 理由
RyanBern + 30 问题非常有趣

查看全部评分

Lv4.逐梦者

梦石
0
星屑
6499
在线时间
1643 小时
注册时间
2010-7-18
帖子
922
发表于 2017-11-8 07:53:08 | 显示全部楼层
調用腳本直接改坐標的通行設置
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
7
星屑
1113
在线时间
334 小时
注册时间
2008-1-28
帖子
1566
发表于 2017-11-8 09:09:57 | 显示全部楼层
本帖最后由 未命名 于 2017-11-8 00:04 编辑

XP是最好魔改的了,你甚至可以让地图本身就是通行的,然后用事件设置角色图像为地图图形,然后触发箱子后就可通行。

虽然用的是MV,但我签名里的就是这么干的。
————————————————————————————————————————————————————————————————

XP的事件神奇之处就在于事件图像为图块时,优先度比地图高。
无标题.png


其实我建议楼主先一个个箱子单独的制作积累经验,之后再考虑做成全面的系统。
这样制作能比较自由的制作自己的特殊系统。

设置通行倒是好办,主要问题在于判断主角通行方向的问题。
2.png
3.png
RM默认不分高度,要判断上下层的通行问题十分麻烦。

相同的情况比如说桥的问题:
仍拒绝F11!三开关纯事件终决四方通行桥,无改RGSS
作者@SailCat


但会移动的箱子就复杂多了。

如果想要个全知全能的办法,没有现成的话反而可能更麻烦,再加上推箱子可能会有特殊的机制。



我想到的方法是在上下层的地方控制变量,上去时“高度=1”,下去时“高度=0”之类的。
然后根据变量设置角色的显示优先度,比如在高处的原本会被遮住的地方临时“始终显示在上面on”。
然后通行方向也跟着改。

按照地形制作好单独的一个后,再考虑不同地形批量的制作。

特殊化的制作不但能省事,还可以实现更加个性的效果,甚至制作双层的谜题。
4.png


这个双层的效果可以在上面提到的方法的基础上,判断当一个箱子向下掉落时高度是2,掉落到1时有另一个箱子在0挡着,那么打开这个箱子某个开关,让它变成附属箱子,始终在下面箱子的y-1的位置,而且优先度要高。

开关的问题可以参考:
一行脚本,独立开关变独立变量
作者@SailCat

用上面的方法会写很长的脚本,如果用XP的事件脚本框,可能会发现长度不够。
如何使事件脚本上下连接?
参考@satgo1546 的回答





点评

这点我在问题里就有提到,只能用于限定的地点,限制性太大,不能让人随意推随意通过  发表于 2017-11-8 10:44
对!MV这点和XP不一样,必须用地图图块做事件图像,才能通行。我还以为是我笨……  发表于 2017-11-8 10:27

评分

参与人数 3星屑 +100 +3 收起 理由
RyanBern + 50 + 1 赞认真的回答
刺夜之枪 + 1 我很赞同
SailCat + 50 + 1 我很赞同

查看全部评分

终于有可以放在这里的游戏了……
极短13 新生 《箱子新世界》
回复 支持 反对

使用道具 举报

Lv3.寻梦者

双子人

梦石
0
星屑
2994
在线时间
3604 小时
注册时间
2009-4-4
帖子
4163

开拓者

发表于 2017-11-8 13:04:11 | 显示全部楼层
地图图块可以用$game_map.data[x,y,i] = tile_id来修改。
不过通行一般比较好改。

难点是角色从箱子上面通行时,箱子会遮挡角色。
需要在Sprite_Character里面用一些判断来修改箱子的z值。

点评

↓这种地图你真的不先解决一下箱子看起来好别扭的问题吗233关于推箱子填坑的话我记得贴吧有你要的这个,而且可以通过事件名设定箱子控制变量  发表于 2017-11-8 19:47
难点还不止这些,刚才简单看了下,还有个竖坐标差1的问题,还有个悬崖边缘四方向本来就挂了的问题  发表于 2017-11-8 13:16
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

遠航の猫咪

梦石
3
星屑
16607
在线时间
1879 小时
注册时间
2005-10-15
帖子
1021

开拓者

发表于 2017-11-8 20:28:46 | 显示全部楼层
确实挺麻烦的
做了个范例,思路还是用自动事件做mini_scene,用Scene逻辑完全覆盖掉内建的行走逻辑。
时间所限只做了一格宽的沟,按说多格宽也行的,判定比较累人……
Project1.zip (207.56 KB, 下载次数: 54)

点评

感谢回答,跳跃过渡确实给了我很大提示。  发表于 2017-11-9 01:23
用跳跃来当作过渡,虽然有强制性,但确实省了很多工作。  发表于 2017-11-8 23:32

评分

参与人数 2星屑 +100 +2 收起 理由
RyanBern + 100 + 1 精品文章
未命名 + 1 精品文章

查看全部评分

SailCat (小猫子·要开心一点) 共上站 24 次,发表过 11 篇文章 上 次 在: [2006年01月28日11:41:18 星期六] 从 [162.105.120.91] 到本站一游。
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2021-10-18 08:26

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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