Class | MyGame::Font |
In: |
mygame/lib/mygame.rb
|
Parent: | DrawPrimitive |
フォントを描画するためのプリミティブです。 また ShadowFont を使うと影つきフォントを描画することができます。
次のサンプルはフォントオブジェクト生成して "Hello" を画面に描画する例です。
require 'mygame/boot' fnt = Font.new("Hello") main_loop do fnt.render end
DEFALUT_TTF | = | 'VL-Gothic-Regular.ttf' | デフォルトで使用している TTF です。 |
color | [RW] | フォントの色( [r, g, b] で指定する。赤なら [255, 0, 0] ) |
shadow_color | [RW] | フォントの影色 |
size | [RW] | フォントサイズ |
string | [RW] | 描画するする文字列 |
ttf_path | [RW] | 使用する TTF |
ロードした TTF データのキャッシュをクリアします。
# File mygame/lib/mygame.rb, line 502 def self.clear_cache @@tff_cache = {} end
デフォルトのフォントサイズを設定します。
# File mygame/lib/mygame.rb, line 475 def self.default_size=(size) @@default_size = size end
デフォルトで使用する TTF のパスを返します。
# File mygame/lib/mygame.rb, line 480 def self.default_ttf_path @@default_ttf_path end
デフォルトで使用する TTF を設定します。
# File mygame/lib/mygame.rb, line 485 def self.default_ttf_path=(path) @@default_ttf_path = path end
フォントオブジェクトを生成します。
# File mygame/lib/mygame.rb, line 490 def initialize(string = '', *options) super(*options) @font = open_tff(@ttf_path, @size) @font.style = SDL::TTF::STYLE_NORMAL @last_string = nil self.string = string end
デフォルトの TTF とフォントサイズを設定します。
# File mygame/lib/mygame.rb, line 455 def self.setup_default_setting(ttf = nil, size = nil) datadir = Config::CONFIG["datadir"] mygame_datadir = File.join(datadir, 'mygame') ['./fonts', mygame_datadir].each do |dir| path = ttf || File.join(dir, DEFALUT_TTF) if File.exist?(path) @@default_ttf_path = path break end end @@default_size = size || 16 end
フォントオブジェクトを描画します。
# File mygame/lib/mygame.rb, line 578 def render if hide? or @surface.nil? @disp_x = @disp_y = nil return end x = @x + offset_x y = @y + offset_y if max_w? disp_w = 0 disp_h = 0 else disp_w = w# / 2 * size disp_h = h + @dy end @disp_x, @disp_y = x, y return if @alpha <= 0 @surface.set_alpha(SDL::SRCALPHA, alpha) if alpha < 255 SDL.blit_surface @surface, 0, 0, disp_w, disp_h, screen, x, y end