コンピュータを楽しもう!!

今、自分が面白くていろいろやってみたことを書き綴りたいと思います。連絡先はtarosa.yでgmail.comです。

テキストのスクロール表示

ポケコンぽくするためには、テキストをスクロール表示できた方がいいと思って、Luaridaでスクロールのプログラムを作ってみました。下記です。

------------------------------------------
--スクロールするテキスト表示(printscrl)
-- str:テキスト, fontsize:フォントサイズ, fcolor: 文字色, bcolor: 背景色
------------------------------------------
function printscrl( str, fontsize, fcolor, bcolor )
local w,h = canvas.getviewSize()
local sc
 --一度、見えないところにテキストを書いて、改行数を求める
 sc = canvas.drawTextBox( str, 0, h+1, fontsize, fcolor, w )
 --画面の絵をワークエリアに取り込みます
 canvas.getg( 0, fontsize*sc, w-1, h-1, 0, fontsize*sc, w-1, h-1 )
 --取り込んだ画面をスクロールさせて描きます
 canvas.putg( 0, 0, w-1, h-fontsize*sc-1, 0, fontsize*sc, w-1, h-1 )
 --書き出す部分をバックカラーで塗り潰します
 canvas.drawRect(  0, h-fontsize*sc-1, w, h, bcolor, 1 )
 --フラッシュします
 canvas.putflush()
 --スクロールしたところにテキストを書きます
 canvas.drawTextBox( str, 0, h-fontsize*sc, fontsize, fcolor, w )
end

やっていることは、画面をキャプチャしてスクロールアップした位置に描き戻し、テキストを表示部を消して、新たにテキストを書いているだけです。
これだけでは、物足りないので、ポケコンのようなプログラムを作ってみました。次のブログです。