Project1

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

作者: 九靈    时间: 2013-8-29 20:03
标题: 关于rect
本帖最后由 九靈 于 2013-8-29 20:43 编辑

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
  11.     # 存档文件存在的情况下
  12.     if @file_exist
  13.       # 描绘角色
  14.       for i in [email]0...@characters.size[/email]
  15.         bitmap = RPG::Cache.character(@characters[i][0], @characters[i][1])
  16.         cw = bitmap.rect.width / 4
  17.         ch = bitmap.rect.height / 4
  18.         src_rect = Rect.new(0, 0, cw, ch)
  19.         x = 300 - @characters.size * 32 + i * 64 - cw / 2
  20.         self.contents.blt(x, 68 - ch, bitmap, src_rect)
  21.       end



问题 :
1. bitmap指行走图吧...
2. cw = bitmap.rect的rect是在哪里生成bitmap的rect(Rect)的?
3. 难道...在Bitmap.new时就自动生成了一个与图像(行走图)一样大小的透明rect(Rect)?
4. 为什么要用rect取宽和高?  cw = bitmap.width / 4不行吗?
5. 68 - ch若bitmap的height > 68 * 4 的话,不就变负的了?


不小心问太多= =











作者: 化螺耕    时间: 2013-8-29 20:10
楼主的第二个问题同问,个人理解rect就是相当于PS中的画布吧,可以把图像放置上去的
作者: 无脑之人    时间: 2013-8-29 20:12
1.是那个行走图的数据没错
2.唔……rect方法的Rect在哪里生成的得去问原作者=-=不过他和下面这个等效的:
  1. class Bitmap
  2.   def rect()
  3.     Rect.new(0,0,self.width,self.height)
  4.   end
  5. end
复制代码
反正意思就是说生成与位图大小相当的矩形
3.大概吧=-=谁知道呢【话说为毛要强调透明=-=,Rect只是个矩形没有颜色】
4.可以啊=-=他非要这么写我有什么办法=-=
5.如果行走图那么大当然就无法显示完全啦=-=窗口是有一定大小的嘛
作者: 九靈    时间: 2013-8-29 20:42
无脑之人 发表于 2013-8-29 20:12
1.是那个行走图的数据没错
2.唔……rect方法的Rect在哪里生成的得去问原作者=-=不过他和下面这个等效的:反 ...

懂了...
至于透明...
因为有fill_rect在...
谨慎起见...




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