SoftwareReset
『suica32』にソフトウェア・リセットを付ける方法。
1.このサンプル・プログラム(新規作成箇所、改変箇所)のライセンス
『AIMS/Luaライブラリー』
ソフトウェア・リセット
Copyright(C)2012 むずでょ
※このサンプル・プログラムの新規作成箇所、改変箇所はむずでょが記述しました。
※複製・改変・再配布可。無保証。 修正BSDライセンスと同じとします。
※及び無料。
2.解説
キーボードの [F12] キーで ソフトウェア・リセットをする、
または、ゲームパッドの [5:L]、[6:R]、[7:Select]、[8:Pause] 同時押しで ソフトウェア・リセットを
する機能をつけるには。
(※ソフトウェア・リセット……タイトル画面に戻るボタン)
(1)boot.lua に次の定数、
┌────────────────────────────────────┐ ------------------------------------------- -- 定数初期化 ------------------------------------------- 【中略】 -- こうやってテーブルの下に分けておくと色々楽です PLAYERCONF = {}; ENEMYCONF = {}; PLAYTIME = 0; --【改変】追加と変更。ここから。
BOOT_softwarereset = false; --ソフトウェア・リセットのフラグ。
DIK_F12 = 88; --[F12]キーのDirectXでのキー番号。AIMSd.lua に定義されているが、nil 値になっていたので再定義。
--【/改変】追加と変更。ここまで。 └────────────────────────────────────┘
を追加。
(2)game_common.luaのupdateInputs() に次の処理を追加。
┌────────────────────────────────────┐ function updateInputs()
--【改変】追加。ここから。
--キーボードのキーを取得する。何も押されていなかった場合 0。 local directxKey directxKey = inkey(); if( 0 ~= directxKey )then if( DIK_F12 == directxKey )then --キーボードの[F12]キーを押した場合。
--ソフトウェア・リセット。 BOOT_softwarereset = true; end end if( 1 <= getJoyPressCount( 0, BUTTON_TRIG5) and 1 <= getJoyPressCount( 0, BUTTON_TRIG6) and 1 <= getJoyPressCount( 0, BUTTON_TRIG7) and 1 <= getJoyPressCount( 0, BUTTON_TRIG8) )then --ゲームパッドの[5:L]、[6:R]、[7:Select]、[8:Pause]を同時に押した場合と想定。
--ソフトウェア・リセット。 BOOT_softwarereset = true; end
--【/改変】追加。ここまで。
INPUT = {0,0,0,0,0} -- 順に、UP,DOWN,LEFT,RIGHT,TRIG1 └────────────────────────────────────┘
(3)game.lua の game_OnStep に次の処理を追加。
┌────────────────────────────────────┐ function game_OnStep()
--【改変】追加。ここから。
--ソフトウェア・リセット判定 if BOOT_softwarereset then changeScene("title"); end
--【/改変】追加。ここまで。
PLAYTIME = PLAYTIME + 1 └────────────────────────────────────┘
画面遷移は、無条件に title に飛ぶように設定。
(4)
s/scene/title の title_OnStart に追加。
┌────────────────────────────────────┐ function title_OnStart() cls(); clearLayerSettings(); createActor(G.title.bg,320,240,0); vtitle_state = 0; playMusicLoop("mus/title_in.ogg","mus/title_lp.ogg");
--【改変】追加と削除。ここから。
BOOT_softwarereset = false
--【/改変】追加と削除。ここまで。 end └────────────────────────────────────┘
以上。
- 最終更新:2013-06-20 05:55:16