次はオプション機能を作る。やりたいのはこれ。
・キーコンフィグ(ジョイスティックのみ)
・BGM/SEの音量調整
・フルスクリーンモードの切り替え
まずは簡単なところから、音量調整とフルスクリーンモードの切り替えを作った。
タイトル画面は、KEY ASSIGN の文字を、OPTIONに変更。
そして、GOTOでジャンプしていた、対応ボタンの表示画面を削除。オプションが並ぶようにした。
音量とフルスクリーンモードのフラグはDBに記録しており、ゲームの初期処理で変数に格納している。
sql_q "SELECT * FROM config" ;コンフィグ情報を取得して変数に保存 u_clearstage=sql_i("clearstage") u_fullscr=sql_i("fullscr") u_bgmvol=sql_i("bgmvol") u_sevol=sql_i("sevol")
この情報を表示して、変更できるようにする。
基本は、上下キーで項目移動。ショットキーを押すと、その項目の編集に入り、左右のキーで値を変更する。
編集中の項目は、黄色で表示し、もう一度ショットキーを押すまでは、別の項目には移動させない。
そして、タイトル画面に戻る前に、変更した値をDBに更新して、保存していた変数の値を書き換えて終了。
流れだけ書くといろいろありそうだけど、そんなに時間もかからずに作れた。
といっても、値が変わるだけで、実際の音量や、フルスクリーンモードへの対応は別に作らなきゃならないw
キーコンフィグ変更も作成しはじめたのだが、押すボタンはちゃんと取れても、その値を別のボタンに設定すると、違う値になるという、バグか?という挙動に悩まされ、飽きたので放置wwして次に進むことにした。