トップ 差分 一覧 Farm ソース 検索 ヘルプ PDF RSS ログイン

文字の表示 1

文字を表示する

まずは、プログラミングの定番である「Hello World」を画面に表示させてみます。
では具体的にどうすれば良いのか…。まずは、画面の設定をする必要があります。
部分的に説明しますが、全てのコードはページの一番下にあります。

画面の設定

画面の設定とは、2枚あるNDSの画面のうち「どちらの画面を」,「どのように」使うかを指定することを指します。
どのプログラムでも、まず初めにこのコードを書かないと画面を使用することが出来ません。
では、サンプルを見てみましょう。

SCREEN_BOTTOM = 0

BGBotText = Screen.LoadTextBG()

Screen.Initialize( SCREEN_BOTTOM, BGBotText )

たった3行ですね。まずは1行目から何を意味するのかを説明します。

1行目は「SCREEN=画面」,「BOTTOM=下」なので、これは文字の通り「下画面」を使用することを意味します。
この1行を書く事で、「今から下画面を使用するよ」と宣言したことになります。
そして2,3行目は、下画面を「文字表示に使用するよ」という宣言です。

つまり、この3行を書くことによって「下画面を文字表示に使用します」と決めたことになります。

それでは、上画面を使いたい場合はどうするのか…。
その場合も簡単です。先ほどのコードを参考に少し変更するだけです。

SCREEN_TOP = 1

BGTopText = Screen.LoadTextBG()

Screen.Initialize( SCREEN_TOP, BGTopText )

下画面を意味していた「BOTTOM(Bot)」が「TOP」と変わりましたね。
これで上画面を使用することが出来ます。

画面を両方使う場合は、二つとも書けばOKです。
但し、1行目のイコール(=)の後の数字は重ならないように気をつけましょう。

画面の設定が終わったので、実際に文字を表示させてみます。
残りのサンプルを見ると…

-- say hello

print( "Hello world!" )

print( "Welcome to " .. "DSLua" )

print( "Visit us at www.DSLua.com" )

print( "Press any button to exit" )

1行目は行頭にハイフンが2つ(--)あります。これはコメントです。
コメントとなっている部分はプログラムとして読み込まれませんので、好きなことを書いてOKです。
コードの仕切りや説明を細かく書いておきましょう。

print( "Hello world!" )

これから下が文字を表示するコードですね。「””」に囲まれている部分が画面に表示されます。
英数字と記号にしか対応していませんが、好きな文字を表示させることが出来ます。

print( "Welcome to " .. "DSLua" )

次の行の「 .. 」は何なのでしょうか。これは別々の項目を1行で表す場合に使用します。
つまり、+(プラス)のようなものです。実際に表示される際は、普通に以下のように記述した場合と何も変わりません。

print( "Welcome to DSLua" )

普通に文字を表示する上ではわざわざ分けて書く必要はありませんので、特に気にする必要はありません。
(後々、文章と関数を混ぜて一行で表示させる際に必要となるかもしれません)

これで文字の表示は完了です。

-- wait until a key is pressed

DSLua.WaitForAnyKey()

最後のこの命令は、「何かキーが押されるまで待機」という意味です。
これがないと、最後の「Press any button to exit」という文字を表示した瞬間プログラムが終了してしまいます。
このコードを最後に書いておくと、全てのプログラムが終了しても終了せずに画面が止まります。

全コード

-- このコードでは文字を表示させます[コメント]

 

-- 下画面を文字の表示に設定します[コメント]

SCREEN_BOTTOM = 0

BGBotText = Screen.LoadTextBG()

Screen.Initialize( SCREEN_BOTTOM, BGBotText )

 

-- helloと表示させます[コメント]

print( "Hello world!" )

print( "Welcome to " .. "DSLua" )

print( "Visit us at www.DSLua.com" )

print( "Press any button to exit" )

 

-- 何かキーが押されるまで待機します[コメント]

DSLua.WaitForAnyKey()