Project1

标题: 这怎么换行? [打印本页]

作者: Forever火    时间: 2014-6-16 21:42
标题: 这怎么换行?
想显示数组
class Window_My < Window_Base
  #--------------------------------------------------------------------------
  # ● 初始化窗口
  #--------------------------------------------------------------------------
def initialize
    super(0, 0, 300, 300)
    self.contents = Bitmap.new(width - 32, height - 32)
    refresh
  end

  #--------------------------------------------------------------------------
  # ● 刷新
  #--------------------------------------------------------------------------
  def refresh
  a = [*1..8]   #生成应该数组a
  for i in 0..100   #循环1-100
   a[i] = 2 * i   #给数组里的第i个单元赋值2 * i
  if a[i] % 10 == 6  #如果第i个单元与10 相除余6
      a[i] = nil    #则赋予这个单元nil
    end
  end
    self.contents.clear
    x = 0
    y = 100
    h = 300
    self.contents.font.color = system_color
    self.contents.draw_text(x, y, h, 32,"#{a.compact}" , 0)
  end
end
结果。。。
怎么破???

QQ图片20140616214136.jpg (14.11 KB, 下载次数: 5)

QQ图片20140616214136.jpg

作者: Forever火    时间: 2014-6-16 23:14
没人只好找你了555 @moy  
作者: summer92    时间: 2014-6-17 01:22
p "123/n321"

"/n" 就是换行符,上面分两行
作者: Forever火    时间: 2014-6-17 08:56
Forever火 发表于 2014-6-16 23:14
没人只好找你了555 @moy

表示各种看不懂。。。Bitmap里面也没见相关的。。。我把y = 300他就从中间一路过去了。。。
我看到有个说用if 超过多少字就换行,可我不会计算字数的命令
作者: Forever火    时间: 2014-6-17 11:31
Forever火 发表于 2014-6-16 23:14
没人只好找你了555 @moy

看不懂啊QAQ
作者: kuerlulu    时间: 2014-6-17 12:37
w = 2 * (width - 32) / self.contents.font.size # 回复4L,这货就是一行多少字【噗
作者: summer92    时间: 2014-6-20 02:35
Forever火 发表于 2014-6-17 08:56
表示各种看不懂。。。Bitmap里面也没见相关的。。。我把y = 300他就从中间一路过去了。。。
我看到有个说 ...

哪里来的野路子,想换行的话,把数组转换成字符串再输出,想在哪里+“/n”就在哪加吧,输出的话最好用字符串,数组格式不可控
作者: summer92    时间: 2014-6-20 02:36
a.to_s 应该就能转换为 String 了
作者: 恐惧剑刃    时间: 2014-6-20 04:19
不是/n吧?是相对于/的反斜杆n才对。
这个换行是不起任何作用的。
先生成数组却不描绘,循环数组一个字符组一个字符组的描绘,并记录循环次数。
如果X坐标+循环次数×20(字体大小或矩形宽) > width-40 那么就给y坐标加上20(字体大小或者矩形高度)
即换行。
作者: fux2    时间: 2014-6-20 06:52
bitmap类有一个方法。
text_size(str)会返回描绘str文字所需的Rect.




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