【ウディタ10回】椅子を特定個所まで押したらスイッチオンの仕掛けを作る

ゲーム作成
スポンサーリンク

 さて。ついに呪いの屋敷に侵入しました。屋敷の中は仕掛けがいっぱいです。と言いたいところですが。実はアイデア満載のいろんな仕掛けを作る気はありません。

 基本は『部屋を物色してアイテムゲット』『特定場所でアイテム使用』『ヒントを読んでパスワード入力』の3点です。これが謎の9割です。

 そして今までの工程で全部作り方を覚えました。もうネットで調べなくても全部作れます。あとは作業がめんどくさいだけ。

 でも残り一割は調べないと分からないので調べます。あとエンディングも調べるかもしれない。2週目の特典があるなら調べるかもしれない。やっぱまだ調べることある。

乗ったら起動スイッチ

 ということで乗ったら起動スイッチを作ります。そして離れたら停止します。だから椅子を運んできて上に乗せる。という定番の謎です。結構大変。意外とムズいよ。

いかにも怪しい床発見。

 乗ったら机の上の本が開きます。でも乗っている間だけです。本を読みに行くと閉じる。だからすぐそこにある不自然な椅子を押して運んでスイッチを固定します。

 ちなみに私は基本的に分かりやすくします。なるだけ『見た目一発でどう考えても不自然な配置』がいいです。

 だって押せるのは『この椅子だけ』なんですよ。他の部屋の椅子とかツボとか押せないのはおかしい。だから『押せる椅子は不自然に置いてある』ほうが全体的に自然だと思います。

変数追加

 まずはシステムデータベースに通常変数追加です。『仕掛けを解いたフラグ』です。グローバルな変数にしておかないと部屋を入りなおした時に仕掛けがリセットされます。

 このフラグが立ったら全てのオブジェクトの初期配置を最終的な配置にします。意味分かるかな? 後で書くから分かんなくてもいい。

※追記

 部屋を入りなおしてもイベント内の変数はリセットされませんでした。最初にやってみたらリセットされたので、なんか他の個所がおかしかったのに勘違いしたっぽい。

押せる椅子

 主人公の向きをコモンイベントで取得してその方向に椅子を動かします。主人公も同時に動かした方が自然です。突き飛ばす感じでもいいけど。

 ↑は上方向だけなのでこれを4パターン書きます。動く距離が0.5マスなので2歩動かしています。

 あと起動条件をさっきの『仕掛けを解いたフラグOFF』にしておいて、仕掛けを解いたらこの椅子は消えます。その代わりに仕掛けが椅子に変わります。分かるかな?

詰み回避

  椅子が出口に入ると部屋から出られなくなるのでそこに何もないイベントを置いておきます。やり方はいろいろあるでしょうがこれが簡単そう。ボタン一発です。

 イベント同士は重ならない仕様なのでもうそこに椅子は行けません。『すり抜け』にチェックを入れると重なる。

主人公が仕掛けにのるイベント

 続いて主人公が仕掛けに乗るイベントです。椅子が仕掛けに乗るイベントとは別です。同時に出来なかった。私の力不足です。

 仕掛けの場所に接触イベントを作ります。そしてスイッチから離れたときにも動くように接触範囲を広げておきます。椅子が重なるように『すり抜け』にしておきます。

 処理が長いです。でも頑張ろう。まず主人公の座標をコモンイベントで取得します。ぴったりマスに乗せたかったので精密座標にしています。精密座標だと0.5マスが1になります。要は2倍です。

 セルフ変数に『スイッチ踏んでるフラグ』を作って『踏んでないときに座標が一致したら踏む』『踏んでるときに座標が違ったら離れる』の処理を書きます。

 今考えたら入れ子にしなくていいかもしれない。『Xが違うなら違う』だけでよさそう。踏んでる状態から動く処理だから。

 あと起動条件をやはり『仕掛けを解いたフラグOFF』にしておきます。そしてイベントの2ページ目を追加して起動条件を『仕掛けを解いたフラグON』にして椅子にします。仕掛けを解いた後はこのイベントが椅子です。

椅子が仕掛けにのるイベント

 最後が椅子チェックイベントです。並列処理で自動で定期的にチェックさせます。起動条件を『仕掛けを解いたフラグOFF』で並列処理を作ります。

、まず『仕掛けを解いたフラグ』をチェックして終了させているけど、今考えたらいらないかもしれない。だって起動条件だから。あとで消してみよう。

 変数操作+で仕掛けの座標のイベントIDを取得します。その座標にいるイベントのIDがとれるので椅子だったら仕掛けクリアです。おめでとうございます。

 ということで無事に椅子スイッチが押せました。終わり。

コメント

タイトルとURLをコピーしました