WOLF RPGエディター(ウディタ)/マップイベント【サイトトップへ戻る】
■マップイベントを押して移動し、特定の位置に置くと扉が開く
(更新:2023/03/19)


マップイベントを押して移動し、指定した位置に置くと扉が開くイベントを設定します。


ショートカット
■処理内容の確認
■マップイベントを設定
■押せるイベントと床スイッチを増やす
■押せるイベントと床スイッチをグループ化

扉イベントの作り方は別ページに記載しています。
【扉イベントの作り方を見る】


  
■処理内容の確認

設定するマップイベントは以下の4つです。

マップイベント 主な設定内容
00:扉(上) セルフ変数[0]が「1」になると扉が消えます。
01:扉(下) セルフ変数[0]が「1」になると扉が消えます。
02:押せるイベント 主人公が押すと主人公と共に移動します。(移動速度は1)
03:床スイッチ 「並列実行」で処理し、常に床スイッチがある位置のイベントIDを読み取ります。
そして床スイッチのイベントIDとは異なるイベントIDを取得したら、
押せるイベントと重なった」と判断して、セルフ変数[9]を「1」(扉を開ける)を設定します。
床スイッチと重なっているマップイベント「押せるイベント」は、
常に床スイッチと同じ座標に場所移動し続けます。
この処理により、別のマップから戻ってきても、
自動的に床スイッチの上に押せるイベントが移動し、自動的に扉が開きます。
主人公が乗ってもセルフ変数[9]を「1」にします。
主人公が移動すると扉は閉まり、扉を通る事はできなくなりますが、
これは「ここに何かが乗ったら扉が開く」と言った事を伝えるために設定しています。
この処理が要らない場合は、設定しなくても問題ありません。
処理の最後にセルフ変数[9]の値を扉イベントのセルフ変数[0]に設定します。
セルフ変数[9]の値が「1」の時には扉が開きます。



別のマップから戻ってくると、マップイベントは初期位置へ戻り、押せるイベントも初期位置へ戻ります。

そのため、通常ならば別のマップから戻ってくると下図にように扉が閉まって通れなくなります。



今回の設定では、床スイッチの上に押せるイベントが乗った状態で別のマップへ移動して戻ってくると、
自動的に床スイッチの上に押せるイベントが移動して、自動的に扉が開くように設定します。

床スイッチの上に押せるイベントが乗ってない状態で、別のマップへ移動して戻ってくると、
押せるイベントは初期位置へ戻ります。
この仕様により、押せるイベントの移動を最初からやり直したい時には、
一度別のマップへ移動して戻ってくるとやり直す事ができます。



当ページの【イベントコード表示】は、設定例のイベントIDに合わせてイベントコードが設定されています。

設定例とは別のイベントIDで設定している場合は、イベントコードを貼り付けた後に修正する作業が必要になります。



押せるイベント床イベントはそれぞれ複数の設定が可能です。

イベントIDの取得は、2つのマップイベントが重なった時にはイベントIDの小さい方が優先されるので、
押せるイベントを増やす場合は、床スイッチよりも小さいイベントIDで設定してください。

例えば…
00:扉(上)
01:扉(下)
02:押せるイベント
03:押せるイベント
04:床スイッチ
の設定ならば問題ありませんが…
00:扉(上)
01:扉(下)
02:押せるイベント
03:床スイッチ
04:押せるイベント
の設定では、床スイッチの上に「04:押せるイベント」が乗っても、床スイッチのイベントIDを読み取ってしまい、
04:押せるイベント」のイベントIDが読み取れません。

この場合は…
00:扉(上)
01:扉(下)
02:押せるイベント
03:床スイッチ(コピー)
04:床スイッチ(貼り付け)
00:扉(上)
01:扉(下)
02:押せるイベント
03:床スイッチ(削除)
04:床スイッチ
00:扉(上)
01:扉(下)
02:押せるイベント(コピー)
03:押せるイベント(貼り付け)
04:床スイッチ
と言ったように、床スイッチのイベントIDを大きいIDに変えて、
追加する押せるイベントのイベントIDが床スイッチのイベントIDよりも小さいIDになるようにしてください。


▲トップへ戻る▲


  
■マップイベントを設定

4つのマップイベントを設定します。



▼扉(上)



■マップイベント「扉(上)」

グラフィック:扉の下の部分
起動条件:決定キーで実行
起動条件変数:Self0:セルフ変数0 が 0 と同じ
すり抜け:チェックを付ける

イベントコマンドの設定なし



▼扉(下)



■マップイベント「扉(下)」

グラフィック:扉の下の部分
起動条件:決定キーで実行
起動条件変数:Self0:セルフ変数0 が 0 と同じ

イベントコマンドの設定なし



▼押せるイベント

押せるイベントの設定では、主人公が押せるイベントに触れた時に、
主人公が向いている方向に主人公と一緒に移動するように設定します。

移動時に押せるイベントの移動速度「1」に合わせて主人公の移動速度も遅くし、
押せるイベント重さが感じられるようにします。



押せるイベントの移動設定は、主人公の向きを取得して、主人公の向きと同じ方向に移動するように設定します。

一応「主人公から離れる」を使って…
■動作指定:このイベント / 主人公から離れる
■動作指定:主人公 / 移動速度を設定 => 1 / 一歩前進 / 移動速度を設定 => 3
と言った設定方法もありますが、この設定では0.5マスずれた状態で押せるイベントに触れると、
押せるイベント斜めに移動してしまいます。


そのため、主人公の向きごとに押せるイベントの移動設定を行います。



主人公が斜めを向いている状態で押すと、下図のように不自然な感じで押してしまうので、
主人公が斜めを向いている時には押せないようにします。




主人公の【動作指定】が無くても一応押せるイベントの移動は可能ですが、主人公の【動作指定】が無い場合は、
主人公がちょっと触れただけで押せるイベントが移動してしまうので、押せるイベントの重さがあまり感じられず、
また下図のように隙間が空いてしまう事もあります。




主人公の【動作指定】で「移動速度を設定 => 1」の部分は以下のように設定してください。







【動作指定】はイベンドコードにできないため、イベントコード貼り付け後に手作業で【動作指定】を設定してください。

【イベントコード表示】

■マップイベント「押せるイベント」

グラフィック:自由に設定可能
起動条件:プレイヤー接触
起動条件変数:なし
移動速度:
待機時アニメ:チェックを外す
移動時アニメ:チェックを外す
方向固定:チェックを付ける

■変数操作+: このEvのセルフ変数0 = 主人公 の 向き(1〜9)
■条件分岐(変数): 【1】 このEvのセルフ変数0 が 2 と同じ
         【2】 このEvのセルフ変数0 が 4 と同じ
         【3】 このEvのセルフ変数0 が 6 と同じ
         【4】 このEvのセルフ変数0 が 8 と同じ
-◇分岐: 【1】 [ このEvのセルフ変数0 が 2 と同じ ]の場合↓
|■動作指定:このイベント / 下
|■
-◇分岐: 【2】 [ このEvのセルフ変数0 が 4 と同じ ]の場合↓
|■動作指定:このイベント / 左
|■
-◇分岐: 【3】 [ このEvのセルフ変数0 が 6 と同じ ]の場合↓
|■動作指定:このイベント / 右
|■
-◇分岐: 【4】 [ このEvのセルフ変数0 が 8 と同じ ]の場合↓
|■動作指定:このイベント / 上
|■
-◇上記以外
|■イベント処理中断
|■
◇分岐終了◇
■動作指定:主人公 / 移動速度を設定 => 1 / 一歩前進 / 移動速度を設定 => 3



押せるイベント複数の設置する場合は、床スイッチのマップイベントを設定する前に、
押せるイベントをコピー&貼り付けで複製して、押せるイベントを増やしておいてください。



▼床スイッチ



【イベントコード表示】

■マップイベント「床スイッチ」

グラフィック:自由に設定可能
起動条件:並列実行
起動条件変数:なし
すり抜け:チェックを付ける

▼ セルフ[0]:X座標
▼ セルフ[1]:Y座標
▼ セルフ[2]:押せるイベントのイベントID
▼ セルフ[3]:このイベントのイベントID
▼ セルフ[4]:移動中確認用
▼ セルフ[8]:SE演奏時のスイッチON/OFF
▼ セルフ[9]:[0=スイッチOFF][1=スイッチON]

■変数操作: このEvのセルフ変数9 = 0 + 0

▼ 別のマップへ移動する時に床スイッチの上に押せるイベントがあった場合は、
▼ 別のマップから戻って来た時に押せるイベントを床スイッチの上へ移動(扉を開ける)

■条件分岐(変数): 【1】 このEvのセルフ変数2 が -1 と同じ 【2】 このEvのセルフ変数2 が このEvのセルフ変数3 未満
-◇分岐: 【1】 [ このEvのセルフ変数2 が -1 と同じ ]の場合↓
|■
-◇分岐: 【2】 [ このEvのセルフ変数2 が このEvのセルフ変数3 未満 ]の場合↓
|■変数操作+: このEvのセルフ変数4 = キャラ[このEvのセルフ変数2] の 移動中?[1=YES 0=NO / ※主人公のみ1フレ以上停止時のみ0]
|■条件分岐(変数): 【1】 このEvのセルフ変数4 が 0 と同じ
|-◇分岐: 【1】 [ このEvのセルフ変数4 が 0 と同じ ]の場合↓
||■場所移動:Ev[このEvのセルフ変数2] X:このEvのX座標(精密) Y:このEvのY座標(精密) [精密] [トランジションなし]
||■
|◇分岐終了◇
|■
◇分岐終了◇

▼ 押せるイベントが上に乗っているかどうかを調べる

■変数操作+: このEvのセルフ変数2 = X:このEvのX座標(精密) Y:このEvのY座標(精密)のイベントID
■変数操作+: このEvのセルフ変数3 = このマップイベント の イベントID
■条件分岐(変数): 【1】 このEvのセルフ変数2 が このEvのセルフ変数3 未満
-◇分岐: 【1】 [ このEvのセルフ変数2 が このEvのセルフ変数3 未満 ]の場合↓
|■変数操作: このEvのセルフ変数9 = 1 + 0
|■
◇分岐終了◇

▼ 主人公が上に乗っているかどうかを調べる

■変数操作: このEvのセルフ変数0 = 主人公のX座標(精密) - このEvのX座標(精密)
■変数操作: このEvのセルフ変数1 = 主人公のY座標(精密) - このEvのY座標(精密)
■条件分岐(変数): 【1】 このEvのセルフ変数0 が 0 と同じ
-◇分岐: 【1】 [ このEvのセルフ変数0 が 0 と同じ ]の場合↓
|■条件分岐(変数): 【1】 このEvのセルフ変数1 が 0 と同じ
|-◇分岐: 【1】 [ このEvのセルフ変数1 が 0 と同じ ]の場合↓
||■変数操作: このEvのセルフ変数9 = 1 + 0
||■
|◇分岐終了◇
|■
◇分岐終了◇

▼ 扉イベントのセルフ変数[0]の値を変更

■変数操作: Ev0のセルフ0 = このEvのセルフ変数9 + 0
■変数操作: Ev1のセルフ0 = このEvのセルフ変数9 + 0

▼ 床スイッチや扉の開閉のSEなどを設定

■条件分岐(変数): 【1】 このEvのセルフ変数8 が このEvのセルフ変数9 以外
-◇分岐: 【1】 [ このEvのセルフ変数8 が このEvのセルフ変数9 以外 ]の場合↓
|■変数操作: このEvのセルフ変数8 = このEvのセルフ変数9 + 0
|■サウンド:SE ファイル[SE/[Action]Switch2_Komori.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■
◇分岐終了◇

扉イベントのイベントIDが設定例とは異なる場合は、コメント「扉イベントのセルフ変数[0]の値を変更」の所にある…
■変数操作: Ev0のセルフ0 = このEvのセルフ変数9 + 0
■変数操作: Ev1のセルフ0 = このEvのセルフ変数9 + 0
の設定を扉イベントのイベントIDに合わせて修正してください。



以上で設定完了です。


▲トップへ戻る▲


  
■押せるイベントと床スイッチを増やす

押せるイベント床スイッチを2つずつに増やし、
2つの床スイッチにそれぞれ押せるイベントを置かないと扉が開かないように設定します。





押せるイベント床スイッチを増やしてください。

床スイッチのイベントIDより小さいイベントIDに空きが無い場合は…
00:扉(上)
01:扉(下)
02:押せるイベント
03:床スイッチ(コピー)
04:床スイッチ(貼り付け)
00:扉(上)
01:扉(下)
02:押せるイベント
03:床スイッチ(削除)
04:床スイッチ
00:扉(上)
01:扉(下)
02:押せるイベント(コピー)
03:押せるイベント(貼り付け)
04:床スイッチ
と言った形で床スイッチのイベントIDをずらしてから押せるイベントを複製してください。

そして押せるイベントの複製が終わったら…
00:扉(上)
01:扉(下)
02:押せるイベント
03:押せるイベント
04:床スイッチ(コピー)
05:床スイッチ(貼り付け)
を実行して、床スイッチを複製してください。



押せるイベントのイベント設定は、そのままの状態で問題ありません。



床スイッチのイベント設定の修正は、イベントIDの小さい方と大きい方で異なるイベントの修正になります。

床スイッチのイベント名は、
イベントIDの小さい方を「床スイッチA」、
イベントIDの大きい方を「床スイッチB」と名付けてください。

▼イベントIDが小さい方の床スイッチ
【イベントコード表示】

■マップイベント「04:床スイッチ

グラフィック:自由に設定可能
起動条件:並列実行
起動条件変数:なし
すり抜け:チェックを付ける

▼ セルフ[0]:X座標
▼ セルフ[1]:Y座標
▼ セルフ[2]:押せるイベントのイベントID
▼ セルフ[3]:このイベントのイベントID
▼ セルフ[4]:移動中確認用
▼ セルフ[8]:SE演奏時のスイッチON/OFF
▼ セルフ[9]:[0=スイッチOFF][1=スイッチON]

■変数操作: このEvのセルフ変数9 = 0 + 0

▼ 別のマップへ移動する時に床スイッチの上に押せるイベントがあった場合は、
▼ 別のマップから戻って来た時に押せるイベントを床スイッチの上へ移動(扉を開ける)

■条件分岐(変数): 【1】 このEvのセルフ変数2 が -1 と同じ 【2】 このEvのセルフ変数2 が このEvのセルフ変数3 未満
-◇分岐: 【1】 [ このEvのセルフ変数2 が -1 と同じ ]の場合↓
|■
-◇分岐: 【2】 [ このEvのセルフ変数2 が このEvのセルフ変数3 未満 ]の場合↓
|■変数操作+: このEvのセルフ変数4 = キャラ[このEvのセルフ変数2] の 移動中?[1=YES 0=NO / ※主人公のみ1フレ以上停止時のみ0]
|■条件分岐(変数): 【1】 このEvのセルフ変数4 が 0 と同じ
|-◇分岐: 【1】 [ このEvのセルフ変数4 が 0 と同じ ]の場合↓
||■場所移動:Ev[このEvのセルフ変数2] X:このEvのX座標(精密) Y:このEvのY座標(精密) [精密] [トランジションなし]
||■
|◇分岐終了◇
|■
◇分岐終了◇

▼ 押せるイベントが上に乗っているかどうかを調べる

■変数操作+: このEvのセルフ変数2 = X:このEvのX座標(精密) Y:このEvのY座標(精密)のイベントID
■変数操作+: このEvのセルフ変数3 = このマップイベント の イベントID
■条件分岐(変数): 【1】 このEvのセルフ変数2 が このEvのセルフ変数3 未満
-◇分岐: 【1】 [ このEvのセルフ変数2 が このEvのセルフ変数3 未満 ]の場合↓
|■変数操作: このEvのセルフ変数9 = 1 + 0
|■
◇分岐終了◇

▼ 主人公が上に乗っているかどうかを調べる

■変数操作: このEvのセルフ変数0 = 主人公のX座標(精密) - このEvのX座標(精密)
■変数操作: このEvのセルフ変数1 = 主人公のY座標(精密) - このEvのY座標(精密)
■条件分岐(変数): 【1】 このEvのセルフ変数0 が 0 と同じ
-◇分岐: 【1】 [ このEvのセルフ変数0 が 0 と同じ ]の場合↓
|■条件分岐(変数): 【1】 このEvのセルフ変数1 が 0 と同じ
|-◇分岐: 【1】 [ このEvのセルフ変数1 が 0 と同じ ]の場合↓
||■変数操作: このEvのセルフ変数9 = 1 + 0
||■
|◇分岐終了◇
|■
◇分岐終了◇
<削除
▼ 扉イベントのセルフ変数[0]の値を変更
■変数操作: Ev0のセルフ0 = このEvのセルフ変数9 + 0
■変数操作: Ev1のセルフ0 = このEvのセルフ変数9 + 0


▼ 床スイッチのSEを設定

■条件分岐(変数): 【1】 このEvのセルフ変数8 が このEvのセルフ変数9 以外
-◇分岐: 【1】 [ このEvのセルフ変数8 が このEvのセルフ変数9 以外 ]の場合↓
|■変数操作: このEvのセルフ変数8 = このEvのセルフ変数9 + 0
|■サウンド:SE ファイル[SE/[Action]Switch2_Komori.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム<削除
|■
◇分岐終了◇

▼イベントIDが大きい方の床スイッチ
【イベントコード表示】

■マップイベント「05:床スイッチ

グラフィック:自由に設定可能
起動条件:並列実行
起動条件変数:なし
すり抜け:チェックを付ける

▼ セルフ[0]:X座標
▼ セルフ[1]:Y座標
▼ セルフ[2]:押せるイベントのイベントID
▼ セルフ[3]:このイベントのイベントID
▼ セルフ[4]:移動中確認用
▼ セルフ[6]:SE演奏時の扉の開閉状況
▼ セルフ[7]:[0=扉が閉まる][1=扉が開く]
▼ セルフ[8]:SE演奏時のスイッチON/OFF
▼ セルフ[9]:[0=スイッチOFF][1=スイッチON]

■変数操作: このEvのセルフ変数9 = 0 + 0

▼ 別のマップへ移動する時に床スイッチの上に押せるイベントがあった場合は、
▼ 別のマップから戻って来た時に押せるイベントを床スイッチの上へ移動(扉を開ける)

■条件分岐(変数): 【1】 このEvのセルフ変数2 が -1 と同じ 【2】 このEvのセルフ変数2 が このEvのセルフ変数3 未満
-◇分岐: 【1】 [ このEvのセルフ変数2 が -1 と同じ ]の場合↓
|■
-◇分岐: 【2】 [ このEvのセルフ変数2 が このEvのセルフ変数3 未満 ]の場合↓
|■変数操作+: このEvのセルフ変数4 = キャラ[このEvのセルフ変数2] の 移動中?[1=YES 0=NO / ※主人公のみ1フレ以上停止時のみ0]
|■条件分岐(変数): 【1】 このEvのセルフ変数4 が 0 と同じ
|-◇分岐: 【1】 [ このEvのセルフ変数4 が 0 と同じ ]の場合↓
||■場所移動:Ev[このEvのセルフ変数2] X:このEvのX座標(精密) Y:このEvのY座標(精密) [精密] [トランジションなし]
||■
|◇分岐終了◇
|■
◇分岐終了◇

▼ 押せるイベントが上に乗っているかどうかを調べる

■条件分岐(変数): 【1】 このEvのセルフ変数2 が このEvのセルフ変数3 未満
-◇分岐: 【1】 [ このEvのセルフ変数2 が このEvのセルフ変数3 未満 ]の場合↓
|■変数操作: このEvのセルフ変数9 = 1 + 0
|■
◇分岐終了◇

▼ 主人公が上に乗っているかどうかを調べる

■変数操作: このEvのセルフ変数0 = 主人公のX座標(精密) - このEvのX座標(精密)
■変数操作: このEvのセルフ変数1 = 主人公のY座標(精密) - このEvのY座標(精密)
■条件分岐(変数): 【1】 このEvのセルフ変数0 が 0 と同じ
-◇分岐: 【1】 [ このEvのセルフ変数0 が 0 と同じ ]の場合↓
|■条件分岐(変数): 【1】 このEvのセルフ変数1 が 0 と同じ
|-◇分岐: 【1】 [ このEvのセルフ変数1 が 0 と同じ ]の場合↓
||■変数操作: このEvのセルフ変数9 = 1 + 0
||■
|◇分岐終了◇
|■
◇分岐終了◇

▼ もう一方の床スイッチのON/OFFを取得

■変数操作: このEvのセルフ変数7 = 0 + 0<追加
■条件分岐(変数): 【1】 Ev4のセルフ9 が 1 と同じ
-◇分岐: 【1】 [ Ev4のセルフ9 が 1 と同じ ]の場合↓
|■変数操作: このEvのセルフ変数7 = このEvのセルフ変数9 + 0
|■
◇分岐終了◇

▼ 扉の開閉のSEを設定

■条件分岐(変数): 【1】 このEvのセルフ変数6 が このEvのセルフ変数7 以外
-◇分岐: 【1】 [ このEvのセルフ変数6 が このEvのセルフ変数7 以外 ]の場合↓
|■変数操作: このEvのセルフ変数6 = このEvのセルフ変数7 + 0
|■サウンド:SE ファイル[SE/[Action]Switch2_Komori.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■
◇分岐終了◇


▼ 扉イベントのセルフ変数[0]の値を変更

■変数操作: Ev0のセルフ0 = このEvのセルフ変数7 + 0<変更
■変数操作: Ev1のセルフ0 = このEvのセルフ変数7 + 0<変更

▼ 床スイッチのSEを設定

■条件分岐(変数): 【1】 このEvのセルフ変数8 が このEvのセルフ変数9 以外
-◇分岐: 【1】 [ このEvのセルフ変数8 が このEvのセルフ変数9 以外 ]の場合↓
|■変数操作: このEvのセルフ変数8 = このEvのセルフ変数9 + 0
|■サウンド:SE ファイル[SE/[Action]Switch2_Komori.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム<削除
|■
◇分岐終了◇

イベントIDが小さい方の床スイッチのイベントIDが「4」ではない場合は、
コメント「もう一方の床スイッチのON/OFFを取得」の所にある…
■条件分岐(変数): 【1】 Ev4のセルフ9 が 1 と同じ
の設定を修正してください。



以上で設定完了です。


▲トップへ戻る▲


  
■押せるイベントと床スイッチをグループ化

上記の■押せるイベントと床スイッチを増やすにさらに…
押せるイベントA=床スイッチA
押せるイベントB=床スイッチB
と言ったようなグループを設定し、正しいグループ同士でないと、扉が開かないように設定します。

▼正しく置いた場合

▼正しく置かない場合



押せるイベント床スイッチのグループの判断は、押せるイベントに設定する「影グラフィック番号」で判断します。

今回は以下のように設定します。
影グラフィック番号=0 押せるイベントA 床スイッチA
影グラフィック番号=2 押せるイベントB 床スイッチB



システムDB[9:キャラ影グラフィック名]で影グラフィックを準備してください。





押せるイベントのイベント名に「A」と「B」を付けて、
押せるイベントB影グラフィック番号を先ほど作成した影グラフィックに変えてください。





床スイッチは以下のように設定します。

▼イベントIDが小さい方の床スイッチ
【イベントコード表示】

■マップイベント「04:床スイッチA」

グラフィック:自由に設定可能
起動条件:並列実行
起動条件変数:なし
すり抜け:チェックを付ける

▼ セルフ[0]:X座標
▼ セルフ[1]:Y座標
▼ セルフ[2]:押せるイベントのイベントID
▼ セルフ[3]:このイベントのイベントID
▼ セルフ[4]:移動中確認用
▼ セルフ[5]:影グラフィック番号
▼ セルフ[8]:SE演奏時のスイッチON/OFF
▼ セルフ[9]:[0=スイッチOFF][1=スイッチON]

■変数操作: このEvのセルフ変数9 = 0 + 0

▼ 別のマップへ移動する時に床スイッチの上に押せるイベントがあった場合は、
▼ 別のマップから戻って来た時に押せるイベントを床スイッチの上へ移動(扉を開ける)

■条件分岐(変数): 【1】 このEvのセルフ変数2 が -1 と同じ 【2】 このEvのセルフ変数2 が このEvのセルフ変数3 未満
-◇分岐: 【1】 [ このEvのセルフ変数2 が -1 と同じ ]の場合↓
|■
-◇分岐: 【2】 [ このEvのセルフ変数2 が このEvのセルフ変数3 未満 ]の場合↓
|■変数操作+: このEvのセルフ変数4 = キャラ[このEvのセルフ変数2] の 移動中?[1=YES 0=NO / ※主人公のみ1フレ以上停止時のみ0]
|■条件分岐(変数): 【1】 このEvのセルフ変数4 が 0 と同じ
|-◇分岐: 【1】 [ このEvのセルフ変数4 が 0 と同じ ]の場合↓
||■場所移動:Ev[このEvのセルフ変数2] X:このEvのX座標(精密) Y:このEvのY座標(精密) [精密] [トランジションなし]
||■
|◇分岐終了◇
|■
◇分岐終了◇

▼ 押せるイベントが上に乗っているかどうかを調べる

■変数操作+: このEvのセルフ変数2 = X:このEvのX座標(精密) Y:このEvのY座標(精密)のイベントID
■変数操作+: このEvのセルフ変数3 = このマップイベント の イベントID
■条件分岐(変数): 【1】 このEvのセルフ変数2 が このEvのセルフ変数3 未満
-◇分岐: 【1】 [ このEvのセルフ変数2 が このEvのセルフ変数3 未満 ]の場合↓
|■変数操作: このEvのセルフ変数9 = 1 + 0
|■変数操作+: このEvのセルフ変数5 = キャラ[このEvのセルフ変数2] の 影グラフィック番号<追加
|■条件分岐(変数): 【1】 このEvのセルフ変数5 が 0 以外
|-◇分岐: 【1】 [ このEvのセルフ変数5 が 0 以外 ]の場合↓
||■変数操作: このEvのセルフ変数9 = 0 + 0
||■変数操作: このEvのセルフ変数2 = -1 + 0
||■
|◇分岐終了◇

|■
◇分岐終了◇

▼ 主人公が上に乗っているかどうかを調べる

■変数操作: このEvのセルフ変数0 = 主人公のX座標(精密) - このEvのX座標(精密)
■変数操作: このEvのセルフ変数1 = 主人公のY座標(精密) - このEvのY座標(精密)
■条件分岐(変数): 【1】 このEvのセルフ変数0 が 0 と同じ
-◇分岐: 【1】 [ このEvのセルフ変数0 が 0 と同じ ]の場合↓
|■条件分岐(変数): 【1】 このEvのセルフ変数1 が 0 と同じ
|-◇分岐: 【1】 [ このEvのセルフ変数1 が 0 と同じ ]の場合↓
||■変数操作: このEvのセルフ変数9 = 1 + 0
||■
|◇分岐終了◇
|■
◇分岐終了◇

▼ 床スイッチや扉の開閉のSEなどを設定

■条件分岐(変数): 【1】 このEvのセルフ変数8 が このEvのセルフ変数9 以外
-◇分岐: 【1】 [ このEvのセルフ変数8 が このEvのセルフ変数9 以外 ]の場合↓
|■変数操作: このEvのセルフ変数8 = このEvのセルフ変数9 + 0
|■
◇分岐終了◇

▼イベントIDが大きい方の床スイッチ
【イベントコード表示】

■マップイベント「05:床スイッチB」

グラフィック:自由に設定可能
起動条件:並列実行
起動条件変数:なし
すり抜け:チェックを付ける

▼ セルフ[0]:X座標
▼ セルフ[1]:Y座標
▼ セルフ[2]:押せるイベントのイベントID
▼ セルフ[3]:このイベントのイベントID
▼ セルフ[4]:移動中確認用
▼ セルフ[5]:影グラフィック番号
▼ セルフ[6]:SE演奏時の扉の開閉状況
▼ セルフ[7]:[0=扉が閉まる][1=扉が開く]
▼ セルフ[8]:SE演奏時のスイッチON/OFF
▼ セルフ[9]:[0=スイッチOFF][1=スイッチON]

■変数操作: このEvのセルフ変数9 = 0 + 0

▼ 別のマップへ移動する時に床スイッチの上に押せるイベントがあった場合は、
▼ 別のマップから戻って来た時に押せるイベントを床スイッチの上へ移動(扉を開ける)

■条件分岐(変数): 【1】 このEvのセルフ変数2 が -1 と同じ 【2】 このEvのセルフ変数2 が このEvのセルフ変数3 未満
-◇分岐: 【1】 [ このEvのセルフ変数2 が -1 と同じ ]の場合↓
|■
-◇分岐: 【2】 [ このEvのセルフ変数2 が このEvのセルフ変数3 未満 ]の場合↓
|■変数操作+: このEvのセルフ変数4 = キャラ[このEvのセルフ変数2] の 移動中?[1=YES 0=NO / ※主人公のみ1フレ以上停止時のみ0]
|■条件分岐(変数): 【1】 このEvのセルフ変数4 が 0 と同じ
|-◇分岐: 【1】 [ このEvのセルフ変数4 が 0 と同じ ]の場合↓
||■場所移動:Ev[このEvのセルフ変数2] X:このEvのX座標(精密) Y:このEvのY座標(精密) [精密] [トランジションなし]
||■
|◇分岐終了◇
|■
◇分岐終了◇

▼ 押せるイベントが上に乗っているかどうかを調べる

■変数操作+: このEvのセルフ変数2 = X:このEvのX座標(精密) Y:このEvのY座標(精密)のイベントID
■変数操作+: このEvのセルフ変数3 = このマップイベント の イベントID
■条件分岐(変数): 【1】 このEvのセルフ変数2 が このEvのセルフ変数3 未満
-◇分岐: 【1】 [ このEvのセルフ変数2 が このEvのセルフ変数3 未満 ]の場合↓
|■変数操作: このEvのセルフ変数9 = 1 + 0
|■変数操作+: このEvのセルフ変数5 = キャラ[このEvのセルフ変数2] の 影グラフィック番号<追加
|■条件分岐(変数): 【1】 このEvのセルフ変数5 が 2 以外
|-◇分岐: 【1】 [ このEvのセルフ変数5 が 2 以外 ]の場合↓
||■変数操作: このEvのセルフ変数9 = 0 + 0
||■変数操作: このEvのセルフ変数2 = -1 + 0
||■
|◇分岐終了◇

|■
◇分岐終了◇

▼ 主人公が上に乗っているかどうかを調べる

■変数操作: このEvのセルフ変数0 = 主人公のX座標(精密) - このEvのX座標(精密)
■変数操作: このEvのセルフ変数1 = 主人公のY座標(精密) - このEvのY座標(精密)
■条件分岐(変数): 【1】 このEvのセルフ変数0 が 0 と同じ
-◇分岐: 【1】 [ このEvのセルフ変数0 が 0 と同じ ]の場合↓
|■条件分岐(変数): 【1】 このEvのセルフ変数1 が 0 と同じ
|-◇分岐: 【1】 [ このEvのセルフ変数1 が 0 と同じ ]の場合↓
||■変数操作: このEvのセルフ変数9 = 1 + 0
||■
|◇分岐終了◇
|■
◇分岐終了◇

▼ もう一方の床スイッチのON/OFFを取得

■変数操作: このEvのセルフ変数7 = 0 + 0
■条件分岐(変数): 【1】 Ev4のセルフ9 が 1 と同じ
-◇分岐: 【1】 [ Ev4のセルフ9 が 1 と同じ ]の場合↓
|■変数操作: このEvのセルフ変数7 = このEvのセルフ変数9 + 0
|■
◇分岐終了◇

▼ 扉の開閉のSEを設定

■条件分岐(変数): 【1】 このEvのセルフ変数6 が このEvのセルフ変数7 以外
-◇分岐: 【1】 [ このEvのセルフ変数6 が このEvのセルフ変数7 以外 ]の場合↓
|■変数操作: このEvのセルフ変数6 = このEvのセルフ変数7 + 0
|■サウンド:SE ファイル[SE/[Action]Switch2_Komori.ogg] 音 100% 周 100% (0 チャンネル) 再生 / 遅延:0フレーム
|■
◇分岐終了◇

▼ 扉イベントのセルフ変数[0]の値を変更

■変数操作: Ev0のセルフ0 = このEvのセルフ変数7 + 0
■変数操作: Ev1のセルフ0 = このEvのセルフ変数7 + 0

▼ 床スイッチや扉の開閉のSEなどを設定

■条件分岐(変数): 【1】 このEvのセルフ変数8 が このEvのセルフ変数9 以外
-◇分岐: 【1】 [ このEvのセルフ変数8 が このEvのセルフ変数9 以外 ]の場合↓
|■変数操作: このEvのセルフ変数8 = このEvのセルフ変数9 + 0
|■
◇分岐終了◇


以上で設定完了です。


▲トップへ戻る▲



◎関連ページ

◆扉イベントを作る

YADOT-WOLFトップ  気紛れな空間へ戻る  メール