Project1

标题: 关于contents [打印本页]

作者: 九靈    时间: 2013-8-29 18:20
标题: 关于contents
本帖最后由 九靈 于 2013-8-29 18:24 编辑

Window_SaveFile
RUBY 代码复制
  1. #--------------------------------------------------------------------------
  2.   # ● 刷新
  3.   #--------------------------------------------------------------------------
  4.   def refresh
  5.     self.contents.clear
  6.     # 描绘文件编号
  7.     self.contents.font.color = normal_color
  8.     name = "文件 #{@file_index + 1}"
  9.     self.contents.draw_text(4, 0, 600, 32, name)
  10.     @name_width = contents.text_size(name).width



就这句@name_width = contents.text_size(name).width
问题 :
1. contents是变量还是方法?
2. 若是方法,返回值是@contents吗?(似乎是直接从Window调用)
   还是Bitmap.new时赋得值?(不过...是赋给self.contents)
3. contents指的是什么? (问到脑袋不清楚了= =)


Window_SaveFile
RUBY 代码复制
  1. def initialize(file_index, filename)
  2.     super(0, 64 + file_index % 4 * 104, 640, 104)
  3.     self.contents = Bitmap.new(width - 32, height - 32)

self.contents生成









作者: 无脑之人    时间: 2013-8-29 18:29
是方法 相当于self.contents 原因就是没有contents这个局部变量咯
返回值就是Window的contents 是控制窗口内容的精灵的Bitmap
作者: 九靈    时间: 2013-8-29 19:13
无脑之人 发表于 2013-8-29 18:29
是方法 相当于self.contents 原因就是没有contents这个局部变量咯
返回值就是Window的contents 是控制窗口 ...


所以把self.都去掉也行咯
   contents.clear
   contents.font.color = normal_color
   contents.draw_text(4, 0, 600, 32, name)


话说
你回得好快= =
作者: 芯☆淡茹水    时间: 2013-8-29 21:05
返回的是一个数值。 说得通俗点吧:用   contents 描绘 name 这个字符串的长度。
作者: 紫千修    时间: 2013-8-30 03:54
字符串                           
作者: SuperMario    时间: 2013-8-30 06:00
本帖最后由 SuperMario 于 2013-8-30 06:03 编辑

赋值那里的 self 是不能去掉的,
写 contents = 的话是给局部变量赋值。
没记错的话并不是赋值给@contents,内部结构是用c构建的,不明。




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