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

Project1

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

[原创发布] 本菜鸡继续给RM的逗比执行逻辑探底……

[复制链接]

Lv2.观梦者

梦石
0
星屑
726
在线时间
13 小时
注册时间
2016-11-5
帖子
12
跳转到指定楼层
1
发表于 2022-3-28 19:25:34 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这顺序执行的指令还能出并行错误,我是真没想到2333333
先看这两组事件命令,感觉毫无区别对吧?
(1)
场所移动:{更改操作角色-地图ID} ({更改操作角色-事件X},{更改操作角色-事件Y})(淡入淡出:无)
脚本:$gameMap.event($gameVariables.value(30)).setDirection($gameVariables.value(23))
(2)
脚本:$gameMap.event($gameVariables.value(30)).setDirection($gameVariables.value(23))
场所移动:{更改操作角色-地图ID} ({更改操作角色-事件X},{更改操作角色-事件Y})(淡入淡出:无)

然而实际执行就是会有问题……
目前在做一个小队合作冒险的事件+脚本实现,功能是:
小队中共有三个角色,编号分别为1、2、3。
当输入键盘按键1、2、3时,将主角切换为对应编号的角色,移动到那个角色所在的位置,同时把一个和主角原本扮演的角色长得一样的事件A挪过来,占用主角原本所在的位置。
换句话说,可以实现按哪个键就操作哪个角色的功能,未被操作的角色在原地待机。
为了实现最好的模拟效果,需要在换人时调整玩家和事件的朝向,用事件实现起来过于屎山,我是用脚本实现的……

然后,问题就来了。
上面那两组命令,重点是那个脚本,效果是把事件A的朝向调整到与主角相同。
然而,(1)命令执行是没错的,(2)命令执行后,角色的朝向却永远都是朝右……不带变的……
具体实现效果可以看这两张图。
(1)

(2)

就很囧。

然后我是怎么发现这问题的呢?
其实一开始以为是事件设定成固定朝向的了,信心满满调了下,差点没气炸。
然后想着可能是变量设错了什么的,插了个文本框显示一下变量23(即事件A预定的朝向)。
结果发现:有文本框会延时一下,就工作正常,去掉文本框,问题立刻重新出现。
233333333333333333333333
于是想了想,不就是缺个延时的问题嘛,就把脚本操作放到了原本就会卡一下的场所移动命令后面。
结果果然正常了233333333333333333333333
怎么我这么菜的操作都能探到引擎的底,哭了……

话说,想问大佬一句,这个大概是并行或者说时序的问题,到底是JS语言的问题、RMMZ的问题还是并行公共事件的问题?
我能想到的也就这三个问题源头了。
反正解决了就行吧,虽然解决方案极度丑陋23333333333

Lv2.观梦者

梦石
0
星屑
848
在线时间
117 小时
注册时间
2018-4-7
帖子
114
2
发表于 2022-3-28 20:47:04 | 只看该作者
你是想说异步?一般代码是同步执行,就是按顺序下去,差不多相当于我一个人完成所有操作。
异步就是我把一部分工作交给另一个人去完成,我自己去完成其它的工作。所以就会有些完成的快有些完成的慢。
场所移动正是异步,我看过,它仅仅只是设置了要移动的地图相关的参数,然后把移动开始的开关打开了而已。然后就结束了。
具体负责移动的是其它的东西,应该是update。所以就异步了
回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
5492
在线时间
1131 小时
注册时间
2013-12-3
帖子
267
3
发表于 2022-3-28 20:51:39 | 只看该作者
这两者并不完全等同
我之前也有过类似的问题,是用脚本去调用公共事件的
https://rpg.blue/thread-488739-1-1.html

RM自带的那部分事件指令写在Game_Interpreter.prototype.commandXXX那儿
其中会牵扯到事件的时序 或者判断下一个事件 之类的逻辑
并不是简单能用一行脚本直接代替的
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
928
在线时间
93 小时
注册时间
2012-9-23
帖子
54
4
发表于 2022-3-28 22:16:00 | 只看该作者
相信我,要插个空文本才能正常进行事件不是RM的专利....
回复 支持 反对

使用道具 举报

Lv2.观梦者

梦石
0
星屑
726
在线时间
13 小时
注册时间
2016-11-5
帖子
12
5
 楼主| 发表于 2022-3-29 22:58:33 | 只看该作者
ryuki13 发表于 2022-3-28 22:16
相信我,要插个空文本才能正常进行事件不是RM的专利....

感谢。哭了2333333
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-5-5 18:51

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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