Project1

标题: 关于Window_Selectable类的问题 [打印本页]

作者: dna_7086    时间: 2007-7-2 04:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: dna_7086    时间: 2007-7-2 04:10
提示: 作者被禁止或删除 内容自动屏蔽
作者: 美兽    时间: 2007-7-2 04:22
  def update_cursor_rect
    # 光标位置不满 0 的情况下
    if @index < 0
      self.cursor_rect.empty
      return
    end
    # 获取当前的行
    row = @index / @column_max
    # 当前行被显示开头行前面的情况下
    if row < self.top_row
      # 从当前行向开头行滚动
      self.top_row = row
    end
    # 当前行被显示末尾行之后的情况下
    if row > self.top_row + (self.page_row_max - 1)
      # 从当前行向末尾滚动
      self.top_row = row - (self.page_row_max - 1)
    end
    # 计算光标的宽
    cursor_width = self.width / @column_max - 32
    # 计算光标坐标
    x = @index % @column_max * (cursor_width + 32)
    y = @index / @column_max * 32 - self.oy
    # 更新国标矩形
    self.cursor_rect.set(x, y, cursor_width, 32)
  end

作者: dna_7086    时间: 2007-7-2 04:32
提示: 作者被禁止或删除 内容自动屏蔽
作者: 美兽    时间: 2007-7-2 04:38
你把这个方法放在物品类重定义下,之后该下间距,就可以了
RUBY支持方法覆盖.

或者直接用.is_a?加个分歧. [LINE]1,#dddddd[/LINE]系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
作者: dna_7086    时间: 2007-7-2 04:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: dna_7086    时间: 2007-7-2 04:43
提示: 作者被禁止或删除 内容自动屏蔽
作者: 美兽    时间: 2007-7-2 04:43
把修改后的方法放在所修改的类中,RUBY优先搜索当前类的同名方法,若未找到,才会搜索父类或超类.




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