加入我们,或者,欢迎回来。
您需要 登录 才可以下载或查看,没有帐号?注册会员
x
本帖最后由 九靈 于 2013-8-25 16:24 编辑
帮助(F1)中 :
Window类 :
cursor_rect
光标的矩形(Rect)。以(-16,-16)的相对座标指定窗口的左上角。
问题 :
1. cursor_rect 这个矩形是在生成Window类(或其子类)的实例时同时建立(生成)的吗?
因为到处都没看到哪里有cursor_rect = Rect.new(...) 这个东西......
2. "以(-16,-16)的相对座标指定窗口的左上角。" 这句是啥意思? 还有为啥是(-16,-16)?
3. cursor_rect 有默认大小吗? 有的话是多少?
我看到的都是 xxx.cursor_rect.set(...)
像是Window_Selectable类中
#-------------------------------------------------------------------------- # ● 更新光标举行 #-------------------------------------------------------------------------- def update_cursor_rect self.cursor_rect.empty self.cursor_rect.empty # 光标位置不满 0 的情况下 if [url=home.php?mod=space&uid=370741]@Index[/url] < 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
#--------------------------------------------------------------------------
# ● 更新光标举行
#--------------------------------------------------------------------------
def update_cursor_rect
self.cursor_rect.empty
self.cursor_rect.empty
# 光标位置不满 0 的情况下
if [url=home.php?mod=space&uid=370741]@Index[/url] < 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
|