Project1

标题: 如何在战斗事件内操控帮助窗口? [打印本页]

作者: Mono_kyrin    时间: 2018-11-25 14:39
标题: 如何在战斗事件内操控帮助窗口?
本帖最后由 Mono_kyrin 于 2018-11-25 15:23 编辑

在Scene_Battle内有如下定义,这个帮助窗口主要是为了显示正在使用的技能名字或物品名字。
最初的想法是:一些战斗内只执行一次的效果就做成只显示一个名字实际则是一个战斗事件的“伪技能”效果,免得占用公共事件槽位。
RUBY 代码复制
  1. $help_window = Window_Help.new
  2. $help_window.back_opacity = 160
  3. $help_window.visible = false

游戏内部运行显示都是正常的。

但是如果我在战斗事件里这么写的话:
RUBY 代码复制
  1. 脚本:$help_window.set_text("自定义文本",1)
  2. # 这里是要执行的事件
  3. 脚本:$help_window.visible = false

没有任何报错,但是执行完事件以后就会直接卡死,请问是什么情况

附上set_text方法的定义:
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2. # ● 设置文本
  3. #     text  : 窗口显示的字符串
  4. #     align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
  5. #--------------------------------------------------------------------------
  6.   def set_text(text, align = 0)
  7.     # 如果文本和对齐方式的至少一方与上次的不同
  8.     if text != @text or align != @align
  9.       # 再描绘文本
  10.       self.contents.clear
  11.       self.contents.font.size = 14
  12.       self.contents.font.color = normal_color
  13.       self.contents.draw_text1(4, -10, self.width - 40, 32, text, align)
  14.       @text = text
  15.       @align = align
  16.       @actor = nil
  17.     end
  18.     self.visible = true
  19.   end


另外Fuki v6也会卡死,这是断了我的后路啊
RUBY 代码复制
  1. 显示文章:自定义文本
  2. # 这里是要执行的事件


作者: hyrious    时间: 2018-11-26 09:09
在 visible = false 那行下面多打一句 true 或者注释
  1. # 这里是要执行的事件
  2. $help_window.visible = false
  3. # 随便打一行注释
复制代码

这是 RGSS1 的一个 BUG,参考图书馆




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1