Project1

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

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

Window_SaveFile
[pre lang="ruby" line="39"]  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
    self.contents.clear
    # 描绘文件编号
    self.contents.font.color = normal_color
    name = "文件 #{@file_index + 1}"
    self.contents.draw_text(4, 0, 600, 32, name)
    @name_width = contents.text_size(name).width
    # 存档文件存在的情况下
    if @file_exist
      # 描绘角色
      for i in 0...@characters.size
        bitmap = RPG::Cache.character(@characters[0], @characters[1])
        cw = bitmap.rect.width / 4
        ch = bitmap.rect.height / 4
        src_rect = Rect.new(0, 0, cw, ch)
        x = 300 - @characters.size * 32 + i * 64 - cw / 2
        self.contents.blt(x, 68 - ch, bitmap, src_rect)
      end
[/pre]


问题 :
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! X5.0