石を押して落とすギミック

石を押して落とすギミックの解説用ページです。
誰得か分かりませんが、ギミック作りの参考になれば幸いです。

石押しギミックの解説

実際に動かしたときの動画


※ゲームプレイからプレイすると、もう少しヌルヌル動きます。

1.下準備

今回は以下のものを使用。

【使用したもの】

  • スイッチ001:石を押した
  • 変数001:x座標(初期値:12)
  • 変数002:y座標(初期値:3)
  • イベント 5つ

【備考】

  • スイッチ001は標準でONのスイッチ。
  • 変数の初期値の設定方法はこちら

2.マップを作る

▼まずは土台となるマップを作る。右上の石を左上の穴に落とすというギミック。

石1



▼石の動ける範囲を座標で管理するので、基準の (0,0) となるマスを決める。(画像では赤マス(0,0)とした)
石2


※慣れないうちは長方形の範囲で、障害物は7つまでの方が作りやすい。

3.イベントを作る

マップができたら次はイベントを作る。

▼使ったイベントは石とその四方を囲む計5つ。
石から見て上をA、右をB、下をC、左をDとする。

石3



▼石のイベントは簡単。触れたらスイッチ001をオフにするだけ。2Pと3Pの説明はのちほど。

石4



四方を囲んでるイベントは少し複雑。一つできればあとはコピペと書き換えで済むので、A(上)のイベントだけ解説。

▼Aのイベント。最後のページが標準のページになる。スイッチ001がオフになったら判定が始まるという仕組み。

石5



▼2P~8Pは障害物に当たるときのイベント。中身はこんな感じ。引き継ぎを使えば容量が節約できる。

石6



▼条件には障害物にあたるときの座標を入れる。
2P~8Pにひっかかることなく1Pにたどり着けば、障害物がないので石を動かせるという仕組み。
(イベントの実行順がわからない場合はこちらを参照)

石7



▼1Pの中身はこんな感じ。
石を後ずさりさせ、それを追うように四方を囲んでいるイベント4つを移動させる。
そのとき、移動する方向に応じて座標変数を増減させる。

石8



Aができたらこれをコピペして書き換え、B,C,Dを同様に作る。
(他イベントの指定は最後に入れてもいいが、イベントNo.を参照しているだけなので、割り込みの仕様を理解していれば 削除→コピー で指定を差し替えることができる)


▼最後に、石が落ちるときのイベントを作る。中身は適当に。

石9

実行は、穴の座標(今回は (3,3) )を条件にして自動実行させるだけ。
石のイベントの2Pにそれを作った。3Pは、落としたあとの切り替えページ。

4.留意点

  • 4つのイベントをすり抜け状態にする必要がある。
    (場所移動をすると元に戻るので注意)
  • 場所移動するとイベントが初期位置に戻るので、一緒に変数も初期値に戻す必要がある。

あとは壁にぶつけたりしながらテストしてみよう。
デバッグは結構大変。

以上で解説は終わり。この方法はほんの一例なので、自分なりに応用して面白いギミックに役立ててみてください。

障害物にあたるときの座標

A(上)のイベント

▼青色のマスに石があるとき、石は動かせません。

石10

y=0 (4,2) (6,2) (7,2) (8,2) (11,3) (13,2)
が2~8Pの条件です。

B(右)のイベント

▼緑色のマスに石があるとき、石は動かせません。

石11

x=0 (3,4) (6.3) (x=9 and y<2) (10,3) (12,2)
が2P~7Pの条件です。

C(下)のイベント

▼黄色のマスに石があるとき、石は動かせません。

石12

y=4 (2,3) (5,2) (9,2) (11,1) (14,3)
が2P~7Pの条件です。

D(左)のイベント

▼紫色のマスに石があるとき、石は動かせません。

石13

x=14 (1,4) (3,1) (5,0) (8,3) (10,2) (12,1) (13,4)
が2P~9Pの条件です。

コメント

アクセスランキング

最新の更新ページ

最新コメント

動画


▶︎動画をもっと見る

編集メンバー参加申請

こちらの申請フォームより、Wikiの管理人へ参加申請をしてください。

管理人が申請を承認すると、編集メンバーに参加できます。

編集メンバーの詳細はこちらから。

あなたのアカウント ゲスト
サイト名 RPGツクール フェス 作品&tipsまとめwiki
メッセージ ※メッセージは100文字以内で入力してください。
編集メンバー参加申請

編集に参加するにはログインが必要です。

RPGツクール フェス 作品&tipsまとめwikiへようこそ!

{{isNeedLogin ? 'この機能のご利用には、Twitterでログインをお願いします。' : 'ログインはTwitterのアカウント連携で行います。'}}
※勝手にツイートすることはありません。