HelloWorld

Last-modified: 2009-02-03 (火) 13:53:23

DSLuaVer0.7を解凍するとscriptsフォルダの中に「01 - Hello.lua」というファイルがあると思いますので、中を開いてみてください。
すると、中身は以下のようになっています。

 

(scripts/01 - Hello.lua)

-- Here is the standard 'my first script'
-- set up screens for text output
SCREEN_BOTTOM   = 0
BGBotText = Screen.LoadTextBG()
Screen.Initialize( SCREEN_BOTTOM, BGBotText )
-- say hello
print( "Hello world!" )
print( "Welcome to " .. "DSLua" )
print( "Visit us at www.DSLua.com" )
print( "Press any button to exit" )
-- wait until a key is pressed
DSLua.WaitForAnyKey()

察しの言い方はすぐに気付くかと思いますが、DSLuaでは「--(ハイフン)」を2個続けることで以降の文がコメントになります。
このコメントは命令文の後ろに、「SCREEN_BOTTOM = 0 --コメント文」と直接記述することも可能です。

 

コメントと空白行を全て削除し、行番号を割り振ると以下のようになります。

01: SCREEN_BOTTOM   = 0
02: BGBotText = Screen.LoadTextBG()
03: Screen.Initialize( SCREEN_BOTTOM, BGBotText )
04: print( "Hello world!" )
05: print( "Welcome to " .. "DSLua" )
06: print( "Visit us at www.DSLua.com" )
07: print( "Press any button to exit" )
08: DSLua.WaitForAnyKey()

01~03が初期化命令
04~07が表示用文章
08がウェイト命令
となります。
詳しい説明は次のステップで解説していきます。

プログラムの解説

01: SCREEN_BOTTOM   = 0

では、SCREEN_BOTTOM変数に0を代入しているだけです。
DSLuaでは変数の型宣言を省略することが出来ます。
また、変数の大文字と小文字は別々のものとして扱います。

 
02: BGBotText = Screen.LoadTextBG()

こちらも上記と同じく変数に代入をしています。
詳しくは別な機会に回しますが、ここではテキスト用のオブジェクトを初期化し、そのオブジェクトのハンドルを返していると説明しておきます。

 
03: Screen.Initialize( SCREEN_BOTTOM, BGBotText )

にてようやく画面の初期化を行います。
また、上の命令は以下のように置き換えることが出来ます。

03: Screen.Initialize( 0, Screen.LoadTextBG() )

Screen.Initialize()関数は、初期化した画面オブジェクトを実際にスクリーンに割り当てる関数です。
Screen.Initialize( screen, background1 [, background2, ...] )
  screen……初期化する画面の定数
    0:下画面(タッチパネルのある方)
    1:上画面
  background……初期化するオブジェクト
    Screen.LoadTextBG()
    Screen.Load8BitBG()
    Screen.LoadTileBG()
    Screen.LoadKeyBoardBG()
    Screen.Load16BitBG()
ここでは、とりあえずScreen.LoadTextBG()でテキスト用のオブジェクトを初期化できると覚えてください。

 
04: print( "Hello world!" )
05: print( "Welcome to " .. "DSLua" )
06: print( "Visit us at www.DSLua.com" )
07: print( "Press any button to exit" )

上の4行は画面に表示する処理になります。
解説するまでもなく print(文字列) という形式です。
また、print()関数は出力するたびに1行ずつ改行されていきます。

 
08: DSLua.WaitForAnyKey()

最後のこの行は何かボタンが押されるまで待つという命令です。
タッチパネル以外の全てのボタンを取得することが出来ます。


以上が「01 - Hello.lua」の全てになります。
プログラムソースが一番下まで到達すると自動で終了します。

 

ここまでのことが理解できたなら、次は別なテキスト表示方法を紹介します。

コメント