-- Japanese gui.text Example: gui.text(Japanese) -- ported to Lua by FinalFighter require "gd" --全体的に微透過する gui.transparency(1) --str 文字列 --strlen 文字の長さ --font_size フォントの大きさ(プロポーショナルフォント推奨) --color_r 文字色(R) --color_g 文字色(G) --color_b 文字色(B) function write_font(str,strlen,font_size,color_r,color_g,color_b) --設定する文字 --str --文字の長さ --strlen --フォント名 font_name = "MSPgothic" --フォントサイズ if(font_size == nil) then font_size=10 end --いったん文字書き込んで幅とかを認識する --im:stringFT(色, "フォント",フォントサイズ,回転角度, X座標, Y座標, "表示文字列",extra) if(im == nil) then im = gd.createTrueColor(1, 1) end llX, llY, lrX, lrY, urX, urY, ulX, ulY = im:stringFTEx(0, font_name, font_size, 0, 0, font_size, str, {} ) --フォントサイズから幅を計算 --フォントサイズ*フォントサイズに合わせた係数*文字の長さ if(lrX ~= nil and llX ~= nil and llY ~= nil)then width = lrX - llX height = llY --画像作成 im = gd.createTrueColor(width, height) --文字書き込むX座標を計算 strx = (256 - width)/2 --文字書き込むY座標を計算 stry = 224 - height/2 --文字色の定義 if(color_r == nil) then color_r=255 end if(color_g == nil) then color_g=0 end if(color_b == nil) then color_b=0 end strcolor = im:colorAllocate(color_r, color_g, color_b) --文字を画像に書き込み im:stringFTEx(strcolor, font_name, font_size, 0, 0, font_size, str, {} ) --出力 gui.gdoverlay(strx,stry, im:gdStr()) end end i=0 while (true) do --movie.framecountでフレームカウントとれるのでムービー再生時に重ねるならそれ使おう i=i+1 if(i % 800 == 0)then write_font("岩男",4,10,255,0,0) elseif(i % 600 == 0)then write_font("テストテストテスト",18,20,255,255,0) elseif(i % 400 == 0)then write_font("テストテスト",12) elseif(i % 200 == 0)then write_font("テスト",6,40,0,0,255) end FCEU.frameadvance() end