Project1
标题:
“关联帮助窗口”脚本疑问(已修改)
[打印本页]
作者:
恐惧剑刃
时间:
2013-7-23 21:02
标题:
“关联帮助窗口”脚本疑问(已修改)
本帖最后由 恋′挂机 于 2013-7-24 09:21 编辑
默认脚本Scene_Item中有这么一行(忽略注释)
# 关联帮助窗口
@item_window.help_window = @help_window
复制代码
为什么这一句脚本可以把窗体和帮助关联起来呢?
感谢各位大大!
各位大大,我昨天关电脑的时候,突然发现我问的问题连我“自己”都看不明白!!!
是这样的,
# 关联帮助窗口
@item_window.help_window = @help_window
复制代码
在它的父类Window_Selectable有这么一个方法help_window=
def help_window=(help_window)
@help_window = help_window
# 刷新帮助文本 (update_help 定义了继承目标)
if self.active and @help_window != nil
update_help
end
end
复制代码
@item_window.help_window = @help_window
复制代码
所以这句就是,@item_window调用help_window=这个方法并且带入参数@help_window
但是
@help_window = help_window
复制代码
这句如何理解呢?每个类的@help_window不是不能共享么
作者:
弗雷德
时间:
2013-7-23 22:34
在这句脚本之上还有一句创建帮助窗口,大概像:@help_window = Window_Help.new 之类
而@item_window.help_window = @help_window 所关联的便是之前创建的那个帮助窗口。
作者:
恐惧剑刃
时间:
2013-7-24 09:09
人工“置顶”
作者:
芯☆淡茹水
时间:
2013-7-24 09:14
本帖最后由 芯☆淡茹水 于 2013-7-24 12:01 编辑
去看看 Window_Item , Window_Skill ,,,等的最下面,
def update_help
@help_window.set_text(self.skill == nil ? "" : self.skill.description)
end
复制代码
父类 Window_Selectable 定义好了 @help_window 以及其写入的方法,子类 Window_Item , Window_Skill ,,,等直接调用。
在 Arrow_Base 里也是同样的情况。
@item_window.help_window = @help_window 和 @help_window = help_window
这两个 @help_window 是不一样的。
作者:
芯☆淡茹水
时间:
2013-7-24 09:30
@help_window = Window_Help.new
@item_window.help_window = @help_window
所以,不要被两个 help_window 给迷惑了。举个不太恰当的例子:
@atk
= 100
$game_actors[1].atk = @atk
这两个的道理还是差不多的。
欢迎光临 Project1 (https://rpg.blue/)
Powered by Discuz! X3.1