WOLF RPGエディター(ウディタ)/演出・システム【サイトトップへ戻る】
■[キー入力]を使ってパスワードを入力
(更新:2024/05/12)
イベントコマンド【キー入力】を使ってパスワードを入力する方法を紹介します。
パスワードイベントの基礎情報は別ページに記載しています。
【パスワードイベントの基礎のページを開く】
■タイトル画面にパスワードを入力するイベントを設定
タイトル画面にパスワードを入力するイベントを設定します。
今回はタイトル画面で[↑][←][→][A]と入力すると、場所移動のイベントが実行するように設定します。
イベント処理ではシステム変数[20:選択肢カーソル現位置(0,1,2..非選択時:-1)]を使います。
このシステム変数[20]は、選択肢が表示されている間は選択中の項目番号(最上位の項目が「0」)を示し、
選択肢が表示されていない時には「-1」の値になります。
この仕様を利用して、ロード画面を表示している時にはシステム変数[20]の値が「-1」になるので、
パスワードの入力受け付けはシステム変数[20]の値が「0以上」の時のみとし、
システム変数[20]の値が「-1」の時(ロード画面表示中)は、パスワードの入力を受け付けないようにします。
タイトル用のマップ内に以下のマップイベントを作成してください。
【イベントコード表示】
■マップイベント「パスワード入力」
起動条件:並列実行
起動条件変数:なし
▼ セルフ[0] : キーコード
▼ セルフ[1] : キー押し続け
▼ セルフ[2] : 正しく押した回数
■条件分岐(変数): 【1】 Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1) が -1
と同じ
-◇分岐: 【1】 [ Sys20:選択肢カーソル現位置(0,1,2..非選択時:-1) が -1 と同じ ]の場合↓
|▼ 選択肢非表示中
|■イベント処理中断
|■
◇分岐終了◇
▼ キーコード取得
■キー入力:このEvのSelf0 / 4方向
■条件分岐(変数): 【1】 このEvのSelf0 が 0 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
|■キー入力:このEvのSelf0 / キーボード(100〜)
|■
◇分岐終了◇
▼ キーを押したら、一度何もキーを押していない状態にしないと次が押せないように設定
■条件分岐(変数): 【1】 このEvのSelf0 が 0 と同じ 【2】 このEvのSelf1 が
1 と同じ
-◇分岐: 【1】 [ このEvのSelf0 が 0 と同じ ]の場合↓
|■変数操作: このEvのSelf1 = 0 + 0
|■イベント処理中断
|■
-◇分岐: 【2】 [ このEvのSelf1 が 1 と同じ ]の場合↓
|■イベント処理中断
|■
◇分岐終了◇
■変数操作: このEvのSelf1 = 1 + 0
▼ ■■■■■■■■■■1つ目:[↑]
■条件分岐(変数): 【1】 このEvのSelf2 が 0 以外 【2】 このEvのSelf0 が
8 と同じ
-◇分岐: 【1】 [ このEvのSelf2 が 0 以外 ]の場合↓
|▼ 1つ目のキー判定以外の時
|■
-◇分岐: 【2】 [ このEvのSelf0 が 8 と同じ ]の場合↓
|▼ 1つ目が正しく押されたので、2つ目のキー判定へ移行
|■変数操作: このEvのSelf2 += 1 + 0
|■イベント処理中断
|■
-◇上記以外
|▼ 1つ目で正しく押されてなかったので、パスワード入力を初期化
|■変数操作: このEvのSelf2 = 0 + 0
|■イベント処理中断
|■
◇分岐終了◇
▼ ■■■■■■■■■■2つ目:[↑]
■条件分岐(変数): 【1】 このEvのSelf2 が 1 以外 【2】 このEvのSelf0 が
4 と同じ
-◇分岐: 【1】 [ このEvのSelf2 が 1 以外 ]の場合↓
|▼ 2つ目のキー判定以外の時
|■
-◇分岐: 【2】 [ このEvのSelf0 が 4 と同じ ]の場合↓
|▼ 2つ目が正しく押されたので、3つ目のキー判定へ移行
|■変数操作: このEvのSelf2 += 1 + 0
|■イベント処理中断
|■
-◇上記以外
|▼ 2つ目で正しく押されてなかったので、パスワード入力を初期化
|■変数操作: このEvのSelf2 = 0 + 0
|■イベント処理中断
|■
◇分岐終了◇
▼ ■■■■■■■■■■3つ目:[→]
■条件分岐(変数): 【1】 このEvのSelf2 が 2 以外 【2】 このEvのSelf0 が
6 と同じ
-◇分岐: 【1】 [ このEvのSelf2 が 2 以外 ]の場合↓
|▼ 3つ目のキー判定以外の時
|■
-◇分岐: 【2】 [ このEvのSelf0 が 6 と同じ ]の場合↓
|▼ 3つ目が正しく押されたので、4つ目のキー判定へ移行
|■変数操作: このEvのSelf2 += 1 + 0
|■イベント処理中断
|■
-◇上記以外
|▼ 3つ目で正しく押されてなかったので、パスワード入力を初期化
|■変数操作: このEvのSelf2 = 0 + 0
|■イベント処理中断
|■
◇分岐終了◇
▼ ■■■■■■■■■■4つ目:[A]
■条件分岐(変数): 【1】 このEvのSelf2 が 3 以外 【2】 このEvのSelf0 が
130 と同じ
-◇分岐: 【1】 [ このEvのSelf2 が 3 以外 ]の場合↓
|▼ 4つ目のキー判定以外の時
|■
-◇分岐: 【2】 [ このEvのSelf0 が 130 と同じ ]の場合↓
|▼ 4つ目が正しく押されたので、パスワード入力成功とする
|■選択肢の強制中断
|■場所移動:主人公 ▲マップID2[サンプルマップB] X:12 Y:15 [トランジションなし]
|■ピクチャ消去:1 / 0(0)フレーム
|■イベント処理中断
|■
-◇上記以外
|▼ 4つ目で正しく押されてなかったので、パスワード入力を初期化
|■変数操作: このEvのSelf2 = 0 + 0
|■イベント処理中断
|■
◇分岐終了◇
■ |
マップ[0:タイトル]にあるマップイベント「タイトル用イベント」には、
「スタート/コンティニュー/ゲーム終了」の選択肢があります。
この選択肢の設定を開き、「強制中断分岐」にチェックを入れてください。
「強制中断分岐」にチェックを入れておかないと、
マップイベント「パスワード入力」で【選択肢の強制中断】を実行した時に、
選択中の項目を強制的に決定してしまいます。
以上で設定完了です。
▲トップへ戻る▲
◎関連ページ
◆パスワードイベントの基礎
┣◆[選択肢]を使ってパスワードを入力
┣◆[キーボード入力]を使ってパスワードを入力
┣◆[キー入力]を使ってパスワードを入力
┣◆オリジナルの入力画面でパスワードを入力
┣◆地面の色を変えて図形を作ってパスワードを入力
┣◆正しいパスワードを聞かないと扉が開かない(数字入力タイプ)
┗◆正しいパスワードを聞かないと扉が開かない(文字入力タイプ)
◆イベントコマンド【文字列操作】 |