Project1

标题: rect的意义 [打印本页]

作者: 九靈    时间: 2014-8-6 10:41
标题: rect的意义
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 获取项目的绘制矩形
  3.   #--------------------------------------------------------------------------
  4.   def item_rect(index)
  5.     rect = Rect.new
  6.     rect.width = item_width
  7.     rect.height = item_height
  8.     rect.x = index % col_max * (item_width + spacing)
  9.     rect.y = index / col_max * item_height
  10.     rect
  11.   end



rect不是实例吗?
怎么变方法了...

另外
cursor_rect 是内建的吗?

还有
page_item_max这啥?
也是内建的方法?

作者: taroxd    时间: 2014-8-6 10:50
  1. rect = Rect.new # rect明明是一个局部变量
复制代码
cursor_rect 是内建方法,在F1手册中可以找到
page_item_max 不是内建方法,你可以用 ctrl+shift+F 全局搜索找到
作者: 克莉丝    时间: 2014-8-6 10:53
末句rect是返回rect这个对象
相当于先前版本的return rect
剩下俩自己字面理解okay?
作者: 九靈    时间: 2014-8-6 11:03
taroxd 发表于 2014-8-6 10:50
cursor_rect 是内建方法,在F1手册中可以找到
page_item_max 不是内建方法,你可以用 ctrl+shift+F 全局搜 ...

打错是page_row_max
作者: 九靈    时间: 2014-8-6 12:35
九靈 发表于 2014-8-6 11:03
打错是page_row_max


#--------------------------------------------------------------------------
  # ● 更新光标
  #--------------------------------------------------------------------------
  def update_cursor
    if @cursor_all
      cursor_rect.set(0, 0, contents.width, row_max * item_height)
      self.top_row = 0
    elsif @index < 0
      cursor_rect.empty
    else
      ensure_cursor_visible
      cursor_rect.set(item_rect(@index))
    end
  end
  #--------------------------------------------------------------------------
  # ● 获取项目的绘制矩形
  #--------------------------------------------------------------------------
  def item_rect(index)
    rect = Rect.new
    rect.width = item_width
    rect.height = item_height
    rect.x = index % col_max * (item_width + spacing)
    rect.y = index / col_max * item_height
    rect
  end


整合起来
cursor_rect.set(item_rect(@index))
相当于
cursor_rect.set(rect)
嗯...个人理解...
作者: taroxd    时间: 2014-8-6 12:59
九靈 发表于 2014-8-6 12:35
#--------------------------------------------------------------------------
  # ● 更新光标
  #-- ...

对啊没有问题啊,item_rect 返回一个矩形,你把它叫做 rect。
然后 cursor_rect.set(rect) ,很正确啊~




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