RGSS2を知る(36)

枠に入りきらない文字を描画した場合の動作。

b = Bitmap.new(50,50)
b.font.size = 96
b.draw_text(0, 0, 50, 50,"")
b1  = Bitmap.new(50,50)
b1 .font.size = 96*60/100
b1 .draw_text(0, 0, 50, 50,"")
b2 = Bitmap.new(50,50)
b2.font.size = 60
b2.draw_text(0, 0, 50, 50,"あお")

s = Sprite.new
s.bitmap = b
s1  = Sprite.new
s1 .bitmap = b1
s1.x = 100
s2  = Sprite.new
s2 .bitmap = b2
s2.x = 200

loop do
  Graphics.update
end


縮小は60%まで自動で、横方向に限って行われる。それでも入りきらない場合は右端をカット。
縦位置は範囲の真ん中に合わされるが、はみ出した場合は文字の上を上端にそろえて下がカットされる。

b1  = Bitmap.new(50,50)
b1 .font.size = 60
b1 .draw_text(0, 0, 50, 50,"あお", 1)
b2 = Bitmap.new(50,50)
b2.font.size = 60
b2.draw_text(0, 0, 50, 50,"あお", 2)

s1  = Sprite.new
s1 .bitmap = b1
s2  = Sprite.new
s2 .bitmap = b2
s2.x = 100
loop do
  Graphics.update
end


Alignを設定してあってもはみ出した場合は右がカットされる。
ちなみにフォントの最大サイズは96で、97以上にしようとすると実行時にエラーが出る。
最小サイズは6だった。
ところで先日言っていたイレギュラーなパターンというのはたとえばこういうもの。

b1  = Bitmap.new(50,50)
b1 .font.size = 60
b1 .draw_text(-10, -10, 50, 50,"あお", 1)

s1  = Sprite.new
s1 .bitmap = b1

loop do
  Graphics.update
end