【ウディタ】マウス操作ゲーム自作解説⑧~ゲーム設定画面操作~

レビニアよ。前回に引き続き、ゲーム設定のマウス操作を解説していくわ。


※これが完成形ね。

前回の解説で設定画面の表示まで作ったから、今回は実際にゲーム設定を操作するコモンイベントを作成するのよ。

ゲーム設定画面を操作する


というわけで、まずは並列実行のコモンイベントを作成
コモン作成:名前「┗ゲーム設定メニュー操作」、起動条件「並列実行/コモンセルフ99=1」


タイトル操作の時と同様、入力設定に起動/停止の選択肢を作成して、


クリック状態とピクチャとの重なりを判定するセルフ変数を用意して、


呼び出し時に並列実行を起動/停止させる処理を作成。過去にも解説した条件付き並列コモンのテンプレね
■条件分岐(変数): 【1】 CSelf0[起動/停止] が 1 と同じ 【2】 CSelf0[起動/停止] が -1 と同じ
-◇分岐: 【1】 [ CSelf0[起動/停止] が 1 と同じ ]の場合↓
|▼ 並列実行開始
|■変数操作: CSelf0[起動/停止] = 0 + 0
|■変数操作: CSelf99[起動条件] = 1 + 0
|■イベント処理中断
|■
-◇分岐: 【2】 [ CSelf0[起動/停止] が -1 と同じ ]の場合↓
|▼ 並列実行終了
|■変数操作: CSelf0[起動/停止] = 0 + 0
|■変数操作: CSelf99[起動条件] = 0 + 0
|■イベント処理中断
|■
◇分岐終了◇

それじゃ、実際に並列実行される処理を作っていきましょう。


まずはマウス入力の受付とその条件分岐。今回は右クリックでタイトル画面に戻るようにするから、右クリックも入力を受け付けるよう設定するわよ。
■キー入力:CSelf10[入力待ち][入力待ち] マウス 左クリック(20) 右クリック(21)
■条件分岐(変数): 【1】 CSelf10[入力待ち] が 20 と同じ 【2】 CSelf10[入力待ち] が 21 と同じ
-◇分岐: 【1】 [ CSelf10[入力待ち] が 20 と同じ ]の場合↓
|■
-◇分岐: 【2】 [ CSelf10[入力待ち] が 21 と同じ ]の場合↓
|■
◇分岐終了◇

そしたら分岐1にクリックした時の処理を作成していくわよ。重なっているピクチャ毎に処理を作っていく感じだったわね。


まずは音量設定の「0」をクリックした場合。ゲーム音量が格納されているシステム変数100~102を変数操作で0にするのよ。
■変数操作+: CSelf11[マウス判定] = ピクチャ:4 の マウス重なってる?(1=YES)
■条件分岐(変数): 【1】 CSelf11[マウス判定] が 1 以上
-◇分岐: 【1】 [ CSelf11[マウス判定] が 1 以上 ]の場合↓
|■ウェイト:1 フレーム
|■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: Sys100:BGM音量補正[%]~Sys102:SE音量補正[%] = 0 + 0
|■
◇分岐終了◇


次に音量設定の「20」をクリックした場合の処理。ピクチャ番号と変数操作する値が変わるだけね。
■変数操作+: CSelf11[マウス判定] = ピクチャ:4 の マウス重なってる?(1=YES)
■条件分岐(変数): 【1】 CSelf11[マウス判定] が 1 以上
-◇分岐: 【1】 [ CSelf11[マウス判定] が 1 以上 ]の場合↓
|■ウェイト:1 フレーム
|■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: Sys100:BGM音量補正[%]~Sys102:SE音量補正[%] = 0 + 0
|■
◇分岐終了◇


同様に音量設定のクリック操作をどんどん追加していきましょう。
■変数操作+: CSelf11[マウス判定] = ピクチャ:6 の マウス重なってる?(1=YES)
■条件分岐(変数): 【1】 CSelf11[マウス判定] が 1 以上
-◇分岐: 【1】 [ CSelf11[マウス判定] が 1 以上 ]の場合↓
|■ウェイト:1 フレーム
|■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: Sys100:BGM音量補正[%]~Sys102:SE音量補正[%] = 40 + 0
|■
◇分岐終了◇
■変数操作+: CSelf11[マウス判定] = ピクチャ:7 の マウス重なってる?(1=YES)
■条件分岐(変数): 【1】 CSelf11[マウス判定] が 1 以上
-◇分岐: 【1】 [ CSelf11[マウス判定] が 1 以上 ]の場合↓
|■ウェイト:1 フレーム
|■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: Sys100:BGM音量補正[%]~Sys102:SE音量補正[%] = 50 + 0
|■
◇分岐終了◇
■変数操作+: CSelf11[マウス判定] = ピクチャ:8 の マウス重なってる?(1=YES)
■条件分岐(変数): 【1】 CSelf11[マウス判定] が 1 以上
-◇分岐: 【1】 [ CSelf11[マウス判定] が 1 以上 ]の場合↓
|■ウェイト:1 フレーム
|■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: Sys100:BGM音量補正[%]~Sys102:SE音量補正[%] = 60 + 0
|■
◇分岐終了◇
■変数操作+: CSelf11[マウス判定] = ピクチャ:9 の マウス重なってる?(1=YES)
■条件分岐(変数): 【1】 CSelf11[マウス判定] が 1 以上
-◇分岐: 【1】 [ CSelf11[マウス判定] が 1 以上 ]の場合↓
|■ウェイト:1 フレーム
|■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: Sys100:BGM音量補正[%]~Sys102:SE音量補正[%] = 80 + 0
|■
◇分岐終了◇
■変数操作+: CSelf11[マウス判定] = ピクチャ:10 の マウス重なってる?(1=YES)
■条件分岐(変数): 【1】 CSelf11[マウス判定] が 1 以上
-◇分岐: 【1】 [ CSelf11[マウス判定] が 1 以上 ]の場合↓
|■ウェイト:1 フレーム
|■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: Sys100:BGM音量補正[%]~Sys102:SE音量補正[%] = 100 + 0
|■
◇分岐終了◇

これで音量設定の方はOK。続いて文章表示速度の操作ね。


前回の設定画面表示の時に「おそい=30、ふつう=500、はやい=1000」と読み取っていたから、システム変数9番を各値に変数操作すればいいわ。表示速度が変更されたかわかるよう、確認のための文章表示も入力しておきましょうね。
■変数操作+: CSelf11[マウス判定] = ピクチャ:11 の マウス重なってる?(1=YES)
■条件分岐(変数): 【1】 CSelf11[マウス判定] が 1 以上
-◇分岐: 【1】 [ CSelf11[マウス判定] が 1 以上 ]の場合↓
|■ウェイト:1 フレーム
|■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: Sys9:メッセージ速度( X 文字/秒) = 30 + 0
|■文章:メッセージ速度を変更しました。
|■
◇分岐終了◇


文章速度「ふつう」「はやい」の方も同じように作成。
■変数操作+: CSelf11[マウス判定] = ピクチャ:12 の マウス重なってる?(1=YES)
■条件分岐(変数): 【1】 CSelf11[マウス判定] が 1 以上
-◇分岐: 【1】 [ CSelf11[マウス判定] が 1 以上 ]の場合↓
|■ウェイト:1 フレーム
|■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: Sys9:メッセージ速度( X 文字/秒) = 500 + 0
|■文章:メッセージ速度を変更しました。
|■
◇分岐終了◇
■変数操作+: CSelf11[マウス判定] = ピクチャ:13 の マウス重なってる?(1=YES)
■条件分岐(変数): 【1】 CSelf11[マウス判定] が 1 以上
-◇分岐: 【1】 [ CSelf11[マウス判定] が 1 以上 ]の場合↓
|■ウェイト:1 フレーム
|■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■変数操作: Sys9:メッセージ速度( X 文字/秒) = 1000 + 0
|■文章:メッセージ速度を変更しました。
|■
◇分岐終了◇


そしたら分岐1の最後に画面更新。ゲーム設定画面を再表示させて、見出しに表示させている現在の設定を更新してあげましょう。
■イベントの挿入[名]: [“■ゲーム設定表示”] <コモンEv 12> / 0:表示

※これだと画面のどこをクリックしても画面更新が実行されちゃうけど、対処すると複雑になるから今回はこれでいくわ。まぁ特に重い処理でもないから大丈夫でしょう。


分岐2は右クリック時にタイトル画面に戻る処理だったわね。メニュー操作の並列コモンを停止させ設定画面を消去し、タイトル画面を表示させるのよ。
■ウェイト:1 フレーム
■サウンド:SE ファイル[SE/[System]Enter02_Koya.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
■イベントの挿入[名]: [“┗ゲーム設定メニュー操作”] <コモンEv 13> / -1:停止
■イベントの挿入[名]: [“▲メニュー強調”] <コモンEv 2> / -1:停止 / 4 / 13
■イベントの挿入[名]: [“■ゲーム設定表示”] <コモンEv 12> / 1:消去
■イベントの挿入[名]: [“■タイトル画面表示”] <コモンEv 10> / 0:表示

これで設定画面を操作する並列実行コモンは完成よ。

ゲーム設定をマウスクリックで変更してみる


それじゃ試してみましょう。ゲームを起動しタイトル画面の「ゲーム設定」をクリックして、


ゲーム設定画面が表示されて、


各設定項目をクリックすることで設定が変更&画面が更新されればOKよ。実際に音量が文章表示速度が変化しているか確認してね。

という感じで、ゲーム設定画面の表示と操作・変更の解説はこれで終了よ。次回は変更した設定を記憶&次回起動時に反映させる処理を解説するわ。