查看: 2475|回复: 9

[有事请教] 关于自动执行与并行的疑惑

[复制链接]
梦石
0
星屑
1720
在线时间
160 小时
注册时间
2019-10-17
回帖
43

RM创作大赛01参赛者

发表于 2024-4-5 21:55:15 | 显示全部楼层 |阅读模式

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

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

×
刚接触MV不久有点疑惑。请问并行中的指令是不是同时运行的呀?

举个例子:

事件1,自动运行。里面包含一段对话,然后是开启开关A的指令。根据我的测试,当对话出现,并且我点击确定/取消,使对话关闭之后,开关A才会打开。

事件2,并行处理。内容跟上面一样。但是当对话出现时,开关就同时打开了。

关于并行这个我不是很确定,所以想请教一下
比较健康
梦石
0
星屑
1333
在线时间
471 小时
注册时间
2012-4-8
回帖
314
发表于 2024-4-5 22:12:27 | 显示全部楼层
啊?没能重现。
可以附上demo吗

QQ截图20240405221007.png
QQ截图20240405221106.png
QQ录屏20240405221057 00_00_00-00_00_30.gif
pokemon 和 digimon 正在路上
回复

使用道具 举报

梦石
0
星屑
100
在线时间
1022 小时
注册时间
2021-3-24
回帖
544

MZ评测员

发表于 2024-4-6 00:01:46 | 显示全部楼层
理论上不存在这种问题,请关掉奇奇怪怪的插件在试试
全家活光光~
回复

使用道具 举报

梦石
0
星屑
6515
在线时间
886 小时
注册时间
2018-1-16
回帖
136
发表于 2024-4-6 10:06:29 | 显示全部楼层
事件A和B全都是自动执行的情况下,它们是分先后顺序的。
事件A自动执行,事件B并行处理时,在执行A期间,B也会同时进行。
回复

使用道具 举报

老鹰

梦石
40
星屑
37812
在线时间
7091 小时
注册时间
2012-5-26
回帖
3297

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

发表于 2024-4-6 10:53:38 | 显示全部楼层
一般不会有这种问题
因为并行事件里也是用的同一个对话框,所以自动执行时对话框打开了,并行事件里的显示文字就会等对话框空闲后,再继续它的显示文字,更不可能出现先打开开关了

请确保没有别的并行事件打开了开关
回复

使用道具 举报

梦石
0
星屑
1720
在线时间
160 小时
注册时间
2019-10-17
回帖
43

RM创作大赛01参赛者

 楼主| 发表于 2024-4-7 14:19:09 | 显示全部楼层
本帖最后由 ws6tbz 于 2024-4-7 14:21 编辑

谢谢大家,解决了。

由于我不太理解引擎原理,所以起初的并行处理事件大致思路是这样:

显示文字:“准备” -> 检测是否按下确定键,当按下时 -> 显示图片 -> 检测是否按下确定键,当按下时 -> 显示文字:"成功”

结果导致第一段文字出现后,我按下确定键,马上就快进到最后一步了。

我以为是并行处理导致的,后来复盘了一下,大概是按下确定键之后,引擎一直判定确定键被按下了,所以快速处理了后面的指令

后来做了修改:

显示文字:“准备” -> 等待30帧 -> 显示图片 -> 检测是否按下确定键,当按下时 -> 显示文字:"成功”

这样就解决了这个问题。

不过说实话,这也有个问题,如果我故意一直按着确定键,依然会快进到最后一步。

请问大家有没有更好的解决方案呢?
比较健康
回复

使用道具 举报

梦石
0
星屑
1333
在线时间
471 小时
注册时间
2012-4-8
回帖
314
发表于 2024-4-7 18:05:31 | 显示全部楼层
ws6tbz 发表于 2024-4-7 14:19
谢谢大家,解决了。

由于我不太理解引擎原理,所以起初的并行处理事件大致思路是这样:

可以附上地图文件或者事件截图吗
pokemon 和 digimon 正在路上
回复

使用道具 举报

梦石
2
星屑
8479
在线时间
463 小时
注册时间
2021-12-4
回帖
486

MZ评测员

发表于 2024-4-7 18:49:55 | 显示全部楼层
ws6tbz 发表于 2024-4-7 14:19
谢谢大家,解决了。

由于我不太理解引擎原理,所以起初的并行处理事件大致思路是这样:

【一直按着确定键,依然会快进】哈哈……不得不说mv/mz事件中的按键判定功能做得真的好奇怪,为什么不能是【等待直到按下/松开某键】呢,比如document.body.onkeyup函数这种。
回复

使用道具 举报

梦石
0
星屑
1333
在线时间
471 小时
注册时间
2012-4-8
回帖
314
发表于 2024-4-7 19:46:19 | 显示全部楼层
小秋橙 发表于 2024-4-7 18:49
【一直按着确定键,依然会快进】哈哈……不得不说mv/mz事件中的按键判定功能做得真的好奇怪,为什么不能 ...

可能是制作组觉得 repeat 的情况更多吧
pokemon 和 digimon 正在路上
回复

使用道具 举报

梦石
0
星屑
1333
在线时间
471 小时
注册时间
2012-4-8
回帖
314
发表于 2024-4-7 19:48:10 | 显示全部楼层
ws6tbz 发表于 2024-4-7 14:19
谢谢大家,解决了。

由于我不太理解引擎原理,所以起初的并行处理事件大致思路是这样:

按8L的思路的话,把长按一直触发消息改成按下只触发一次

原来的 msg 窗口是这样的
  1. Window_Message.prototype.isTriggered = function() {
  2.     return (Input.isRepeated('ok') || Input.isRepeated('cancel') ||
  3.             TouchInput.isRepeated());
  4. };
复制代码


如果是改成 按下(Triggered) ,应该是这样的
  1. Window_Message.prototype.isTriggered = function() {
  2.     return (Input.isTriggered('ok') || Input.isTriggered('cancel') ||
  3.             TouchInput.isTriggered());
  4. };
复制代码
pokemon 和 digimon 正在路上
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部