テキスト表示

Last-modified: 2009-02-03 (火) 14:07:54

ここを読む前にHelloWorldの記述を呼んでおくことをオススメします。


ここでは、print()関数以外の方法でテキストを表示する方法について説明します。
元々、print()関数は標準出力用なのであまり便利な関数にはなっていません。
そこで使用するのが、以下のスクリプトになります。

--上スクリーンを使用
SCREEN_TOP = 1
BGTopText = Screen.LoadTextBG()
Screen.Initialize( SCREEN_TOP, BGTopText )
--文字色設定
BGTopText:SetColor( 6 )
--画面に文字列を表示
BGTopText:PrintXY( 10, 12, "Hello World!" )
--ボタンが押されるまで待つ
DSLua.WaitForAnyKey()

こちらも解説用にコメントと空白行を削除してみます

01:SCREEN_TOP = 1
02:BGTopText = Screen.LoadTextBG()
03:Screen.Initialize( SCREEN_TOP, BGTopText )
04:BGTopText:SetColor( 6 )
05:BGTopText:PrintXY( 10, 12, "Hello World!" )
06:DSLua.WaitForAnyKey()

01~03及び06行は、表示場所が上スクリーンになっていること以外、前のHelloWorldと同じです。

 
04:BGTopText:SetColor( 6 )

では表示する文字列の色を指定しています。
文字色は定数で決まっており、6は青色となっています。
Object:SetColor( color )
  Object……文字色を変更するオブジェクト
  color……文字色定数
指定する文字色定数は、公式の資料とはやや違いがあるようです。
詳しくはこちらをご覧ください。

 
05:BGTopText:PrintXY( 10, 12, "Hello World!" )

次に、こちらの行では実際に文字列を表示しています。
Object:PrintXY( x, y, String)
  Object……文字列を表示させるオブジェクト
  x……文字列を表示する位置(0~31)
  y……文字列を表示する位置(0~23)
  String……表示する文字列

コメント