Project1
标题: 如何在战斗事件内操控帮助窗口? [打印本页]
作者: Mono_kyrin 时间: 2018-11-25 14:39
标题: 如何在战斗事件内操控帮助窗口?
本帖最后由 Mono_kyrin 于 2018-11-25 15:23 编辑
在Scene_Battle内有如下定义,这个帮助窗口主要是为了显示正在使用的技能名字或物品名字。
最初的想法是:一些战斗内只执行一次的效果就做成只显示一个名字实际则是一个战斗事件的“伪技能”效果,免得占用公共事件槽位。
$help_window = Window_Help.new
$help_window.back_opacity = 160
$help_window.visible = false
$help_window = Window_Help.new
$help_window.back_opacity = 160
$help_window.visible = false
游戏内部运行显示都是正常的。
但是如果我在战斗事件里这么写的话:
脚本:$help_window.set_text("自定义文本",1)
# 这里是要执行的事件
脚本:$help_window.visible = false
脚本:$help_window.set_text("自定义文本",1)
# 这里是要执行的事件
脚本:$help_window.visible = false
没有任何报错,但是执行完事件以后就会直接卡死,请问是什么情况
附上set_text方法的定义:
#--------------------------------------------------------------------------
# ● 设置文本
# text : 窗口显示的字符串
# align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
#--------------------------------------------------------------------------
def set_text(text, align = 0)
# 如果文本和对齐方式的至少一方与上次的不同
if text != @text or align != @align
# 再描绘文本
self.contents.clear
self.contents.font.size = 14
self.contents.font.color = normal_color
self.contents.draw_text1(4, -10, self.width - 40, 32, text, align)
@text = text
@align = align
@actor = nil
end
self.visible = true
end
#--------------------------------------------------------------------------
# ● 设置文本
# text : 窗口显示的字符串
# align : 对齐方式 (0..左对齐、1..中间对齐、2..右对齐)
#--------------------------------------------------------------------------
def set_text(text, align = 0)
# 如果文本和对齐方式的至少一方与上次的不同
if text != @text or align != @align
# 再描绘文本
self.contents.clear
self.contents.font.size = 14
self.contents.font.color = normal_color
self.contents.draw_text1(4, -10, self.width - 40, 32, text, align)
@text = text
@align = align
@actor = nil
end
self.visible = true
end
另外Fuki v6也会卡死,这是断了我的后路啊
作者: hyrious 时间: 2018-11-26 09:09
在 visible = false 那行下面多打一句 true 或者注释
- # 这里是要执行的事件
- $help_window.visible = false
- # 随便打一行注释
复制代码
这是 RGSS1 的一个 BUG,参考图书馆。
欢迎光临 Project1 (https://rpg.blue/) |
Powered by Discuz! X3.1 |