查看: 1540|回复: 7

关于Window_Selectable类的问题

  [复制链接]
头像被屏蔽
梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-7-1
回帖
527
发表于 2007-7-2 04:10:22 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
头像被屏蔽
梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-7-1
回帖
527
发表于 2007-7-2 04:10:22 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
回帖
3667

第1届短篇游戏比赛亚军

发表于 2007-7-2 04:22:41 | 显示全部楼层
  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
纵然千里外,我等雁归来。
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-7-1
回帖
527
 楼主| 发表于 2007-7-2 04:32:22 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
回帖
3667

第1届短篇游戏比赛亚军

发表于 2007-7-2 04:38:55 | 显示全部楼层
你把这个方法放在物品类重定义下,之后该下间距,就可以了
RUBY支持方法覆盖.

或者直接用.is_a?加个分歧.
系统信息:本贴由楼主认可为正确答案,66RPG感谢您的热情解答~
纵然千里外,我等雁归来。
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-7-1
回帖
527
 楼主| 发表于 2007-7-2 04:40:56 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
49
在线时间
0 小时
注册时间
2007-7-1
回帖
527
 楼主| 发表于 2007-7-2 04:43:28 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

月下可怜人

梦石
0
星屑
50
在线时间
10 小时
注册时间
2005-11-23
回帖
3667

第1届短篇游戏比赛亚军

发表于 2007-7-2 04:43:32 | 显示全部楼层
把修改后的方法放在所修改的类中,RUBY优先搜索当前类的同名方法,若未找到,才会搜索父类或超类.
纵然千里外,我等雁归来。
回复

使用道具 举报

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

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部