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

Project1

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

[已经解决] 问一个窗口的问题

[复制链接]

Lv3.寻梦者

梦石
0
星屑
4169
在线时间
258 小时
注册时间
2013-10-13
帖子
815
跳转到指定楼层
1
发表于 2014-12-19 11:21:47 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
  #---------------------------------------------------------------
  # ● 设置光标的位置
  #     index : 新的光标位置
  #---------------------------------------------------------------
  def index=(index)
    @index = index
    # 刷新帮助文本 (update_help 定义了继承目标)
    if self.active and @help_window != nil
      update_help
    end
    # 刷新光标矩形
    update_cursor_rect
  end
a,既然判断@help_window != nil,那么@help_window就必须有内容了,可是找遍RGSS,没找到@help_window的内容
b,update_help找不到定义,这是什么类的方法的?
c,光标是什么

Lv4.逐梦者 (版主)

梦石
0
星屑
9532
在线时间
5073 小时
注册时间
2013-6-21
帖子
3580

开拓者贵宾剧作品鉴家

2
发表于 2014-12-19 13:14:32 | 只看该作者
这是Window_Selectable的一个片段,有些地方确实不太好理解。
a.@help_window的意义是Window_Selectable的关联窗口,也就是说,一般情况下,Window_Help不能单独存在,而是要有个辅助在作用,用于更详细说明与其关联的Window_Selectable内容的。举个例子来说,游戏中默认的道具窗口,它的上方就有一个帮助窗口来显示选中的道具的说明。在这个例子中,那个Window_Item(是Window_Selectable的子类)的@help_window就有了定义。具体的你可以查看Scene_Item里面,会看到相关内容。
b.注意到脚本后面有一句(update_help定义了继承目标),那么这句话是什么意思呢?意思就是说,在Window_Selectable中并不包含update_help的定义,而对update_help的定义要放在它的子类中去。要注意的是,如果设置了@help_window的内容,就必须同时定义update_help,否则会报错。因此update_help的定义出现在Window_Selectable的各个子类上。你可以在Window_Item,Window_Skill中找到它们的影子。换句话说,不要给一个Window_Selectable类的对象直接赋予@help_window实例变量,否则,你懂的。
c.光标就是Window_Selectable里面闪烁的矩形

点评

噗~  发表于 2014-12-19 21:49
a.是问题的序号233  发表于 2014-12-19 21:39
a.@help_window,这么黑科技的东西么?好像兰兰有实现过这个。  发表于 2014-12-19 20:55
回复 支持 反对

使用道具 举报

Lv5.捕梦者

梦石
0
星屑
33471
在线时间
5108 小时
注册时间
2012-11-19
帖子
4878

开拓者

3
发表于 2014-12-19 19:51:47 | 只看该作者
本帖最后由 芯☆淡茹水 于 2014-12-19 19:55 编辑
  1. # Window_Selectable 里面,定义了 help_window 的读写方法,而在初始化时没有,这个
  2. # @help_window 的值就为 nil

  3.   attr_reader   :help_window
  4.   
  5.   def help_window=(help_window)
  6.     @help_window = help_window
  7.     # 刷新帮助文本 (update_help 定义了继承目标)
  8.     if self.active and @help_window != nil
  9.       update_help
  10.     end
  11.   end

  12. # 在 Window_Selectable 的子类,比如:Window_Item, 在物品场景里:

  13.   @item_window = Window_Item.new
  14.   @help_window = Window_Help.new
  15.   @item_window.help_window = @help_window
  16.   
  17. # 这里就给 @item_window 的实例变量 @help_window 赋值为 @help_window 。

  18. # 所以一般能够关联帮助窗口的窗口,比如上面的 Window_Item ,都定义有 update_help
复制代码

评分

参与人数 1星屑 +200 收起 理由
RyanBern + 200 认可答案

查看全部评分

xp vx va mv  va mz 各类型脚本/插件定制
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

4
发表于 2014-12-19 21:22:17 | 只看该作者
上面已经把该说的说完了……
总之呢……XXX.help_window事实上就是个懒癌产物,就是为了方便传送内容进去(死!
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-23 23:49

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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