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

Project1

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

[有事请教] 这段场景代码为什么无法发挥作用?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
7957
在线时间
958 小时
注册时间
2015-2-10
帖子
248
跳转到指定楼层
1
发表于 2024-4-5 11:24:01 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
10星屑
本帖最后由 fbeds 于 2024-4-5 12:26 编辑

如题,我用一段代码来创建一个场景,进入该场景时自动执行73号公共事件(包含显示图片以及利用插件的指令给图片添加按钮效果,点击按钮后会继续调用别的公共事件),在74号公共事件执行完毕后会退出该场景。然而,虽然场景可以进入,但73号公共事件没有执行,没有看到我在事件里设置好的显示的图片,这是怎么回事?
RUBY 代码复制
  1. function Scene_Custom() {
  2.     this.initialize(...arguments);
  3. }
  4.  
  5. Scene_Custom.prototype = Object.create(Scene_MenuBase.prototype);
  6. Scene_Custom.prototype.constructor = Scene_Custom;
  7.  
  8. Scene_Custom.prototype.initialize = function() {
  9.     Scene_MenuBase.prototype.initialize.call(this);
  10. };
  11.  
  12. Scene_Custom.prototype.start = function() {
  13.     Scene_MenuBase.prototype.start.call(this);
  14. };
  15.  
  16. Scene_Custom.prototype.update = function() {
  17.     Scene_MenuBase.prototype.update.call(this);
  18.     if ($gameTemp.isCommonEventReserved() && $gameTemp.reservedCommonEvent().eventId() === 74) {
  19.         this.exitScene(); //74号公共事件执行完后退出场景
  20.     }
  21. };
  22.  
  23. Scene_Custom.prototype.exitScene = function() {
  24.     SceneManager.pop();
  25. };
  26.  
  27. // 在场景创建时执行73号公共事件
  28. SceneManager.onSceneCreate = function(scene) {
  29.     if (scene instanceof Scene_Custom) {
  30.         $gameTemp.reserveCommonEvent(73);
  31.     }
  32. };

最佳答案

查看完整内容

并非所有场景都能执行公共事件,你这场景执行不了公共事件,只有存在事件解释器的场景才能执行公共事件,比如Scene_Map等。你的代码写的也不是执行公共事件,只是把事件先存到着,等你退回到地图,73号事件才会执行。 参考Andar给的回答:https://forums.rpgmakerweb.com/index.php?threads/mz-call-a-common-event-before-acessing-menu.147873/post-1276007 所以我的建议是直接改成运行脚本而不是用公共事件,这样能实现相同的 ...

Lv3.寻梦者

梦石
0
星屑
1735
在线时间
472 小时
注册时间
2023-5-18
帖子
163
2
发表于 2024-4-5 11:24:02 | 只看该作者
本帖最后由 Arrose 于 2024-4-6 14:22 编辑

并非所有场景都能执行公共事件,你这场景执行不了公共事件,只有存在事件解释器的场景才能执行公共事件,比如Scene_Map等。你的代码写的也不是执行公共事件,只是把事件先存到着,等你退回到地图,73号事件才会执行。
参考Andar给的回答:https://forums.rpgmakerweb.com/i ... 147873/post-1276007

所以我的建议是直接改成运行脚本而不是用公共事件,这样能实现相同的效果而且简单得多。
B站传送门
-----------------------------------------------------------------------
“与其为做不到的事耿耿于怀,不如为自己做到的事而喜悦
吧!”

-----------------------------------------------------------------------
回复

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-21 22:53

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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