!!!画面初期化関数 これらの関数は、バックグラウンドをテキストBGや8bitBG、タイルBG等に描画するために必要です。 Screen.LoadTextBG() Screen.Load8BitBG() Screen.LoadTileBG() Screen.LoadKeyboardBG() Screen.Load16BitBG() Screen.Initialize() Screen.WaitForVBL() !!Screen.LoadTextBG() BGをテキスト用に初期化します。 戻り値としてテキストBGオブジェクトを返します。 テキストBGオブジェクトのメソッドとして[[テキストBG関数|DSLua/ref/text]]が使用できます。 !!Screen.Load8BitBG() BGを8bitBG用に初期化します。 戻り値として8bitBGオブジェクトを返します。 8bitBGオブジェクトのメソッドとして[[8bitBG関数|DSLua/ref/8bitBG]]が使用できます。 !!Screen.LoadTileBG() BGをタイルBG用に初期化します。 戻り値としてタイルBGオブジェクトを返します。 タイルBGオブジェクトのメソッドとして[[タイルBG関数|DSLua/ref/TileBG]]が使用できます。 !!Screen.LoadKeyboardBG() BGをキーボード表示用に初期化します。 戻り値としてキーボードオブジェクトを返します。 キーボードオブジェクトのメソッドとして[[キーボード関数|DSLua/ref/keyboard]]が使用できます。 (未確認だが、ソースがコメントされているので使用できないと思われる。) !!Screen.Load16BitBG() BGを16bitBG用に初期化します。 戻り値として16bitBGオブジェクトを返します。 16bitBGオブジェクトのメソッドとして[[16biyBG関数|DSLua/ref/16bitBG]]が使用できます。 !!Screen.Initialize( screen, background1 [, background2, ...] ) 上記の Load**BG() 関数で取得したBGオブジェクトをこの関数で上下の画面に割り当てます。 screen は初期化をする画面を指定します。1なら上画面、0なら下画面です。 background1 にはscreenで指定した画面に表示するBGオブジェクトを指定します。(上記の Load**BG() 関数で取得したオブジェクトです。) 1枚以上のBGを重ねて表示する場合には、background1に続けて background2,3と記述します。左側に書いた方(この例ではbackground1)が上に重なります。 !!Screen.WaitForVBL() 垂直帰線期間に入るまで処理を停止します。DSでは、垂直帰線期間は1秒間に60回です。 !!!サンプル テキストBGを上下画面に表示してみるテスト(成功) bgtxt1 = Screen.LoadTextBG(); bgtxt2 = Screen.LoadTextBG(); Screen.Initialize( 0, bgtxt1 ) Screen.Initialize( 1, bgtxt2 ) bgtxt1:SetColor( 0 ); for i=0,20,1 do bgtxt1:PrintXY(0,i, "BackGround 1" ) end bgtxt2:SetColor( 2 ); for i=2,20,1 do bgtxt2:PrintXY(2,i, "BackGround 2" ) end テキストBGを複数枚重ねてみるテスト(失敗:できないらしい) bgtxt1 = Screen.LoadTextBG(); bgtxt2 = Screen.LoadTextBG(); bgtxt3 = Screen.LoadTextBG(); bgtxt4 = Screen.LoadTextBG(); Screen.Initialize( 0, bgtxt1, bgtxt2, bgtxt3, bgtxt4 ) bgtxt1:SetColor( 0 ); for i=0,20,1 do bgtxt1:PrintXY(0,i, "BackGround 1" ) end bgtxt2:SetColor( 2 ); for i=2,20,1 do bgtxt2:PrintXY(2,i, "BackGround 2" ) end bgtxt3:SetColor( 4 ); for i=4,20,1 do bgtxt2:PrintXY(4,i, "BackGround 3" ) end bgtxt4:SetColor( 6 ); for i=6,20,1 do bgtxt2:PrintXY(6,i, "BackGround 4" ) end DSLua.WaitForAnyKey()