• TOP>
  • 強制移動の床を作りたい

強制移動の床を作りたい

最終更新:2016年10月17日

目的

床に記された矢印の方向に強制的に移動してしまう処理を作ります
床に一つ一つイベントを置いていくのではなく、一つの管理するイベントに処理をさせます。

マップチップのIDを調べる

マップを用意する

aw1.jpg
IDがわからないと判定出来ませんので、
IDをまず調べます。
矢印のタイルを並べたマップを作ります。

IDを調べるイベントの作成

aw2.jpg
プレイヤーが歩かない場所にイベントを作ってください。
トリガーを並列処理にすると、定期的にイベントを実行するようになります。
決定キーを押したら足元のマップチップIDを獲得するようにします。

テストプレー

aw3.jpg
決定キーを押して、IDを調べていきます。
IDを忘れないようにメモしておきましょう。

管理用イベントの作成

負荷軽減処理

aw4.jpg
やたら分岐が多いと、処理が重くなるので、一歩進む毎にチェックするようにします。
IDチェックに使ったイベントはとりあえず残しておきましょう。

ID判定

aw5.jpg
ここで移動処理を行いません。
理由は並行処理では、入力の割り込みが発生してしまうためです。
強制実行させるには、トリガーを自動実行にする必要があります。
セルフスイッチを使い、ページを切り替える事にします。

次のページ

aw6.jpg
EVページ作成を押して、セルフスイッチにチェックを入れてAに、トリガーを自動実行にします。

準備

aw7.jpg
移動処理を作る前に、下処理を作っておきます。
動きを止めているように見えるようにするための演出ですね。
移動速度を変えているのは、ちょっと早く方が良いと思うからです。
変更したら、元に戻す。(つがいになっているか確認してね)

移動処理

aw8.jpg
ループで処理しているのは、同じことを繰り返すからです。
音を鳴らしたい場合は、移動ルートの設定の上に追加するといいです。
(移動ルートの効果音は使わないように、1ウエイトが掛かります)

テストプレーしよう

aw9.jpg
ちゃんと意図した動きをするか、実際にタイルを踏んで確認しよう。

イベント内容

イベント名: 制御君

1ページ目

トリガー: 並列処理

内容

◆注釈:1歩移動する度に処理をする
◆変数の操作:#0005 歩数 = 歩数
◆条件分岐:歩数 ≠ 前の歩数
  ◆変数の操作:#0005 歩数 = 前の歩数
  ◆注釈:タイルIDによる判定
  ◆変数の操作:#0011 PLのx座標 = プレイヤーのマップX
  ◆変数の操作:#0012 PLのy座標 = プレイヤーのマップY
  ◆指定位置の情報取得:座標ID, タイルID(レイヤー1), ({PLのx座標},{PLのy座標})
  ◆条件分岐:座標ID = 1652
    ◆セルフスイッチの操作:A = ON
    ◆
  :分岐終了
  ◆条件分岐:座標ID = 1653
    ◆セルフスイッチの操作:A = ON
    ◆
  :分岐終了
  ◆条件分岐:座標ID = 1660
    ◆セルフスイッチの操作:A = ON
    ◆
  :分岐終了
  ◆条件分岐:座標ID = 1661
    ◆セルフスイッチの操作:A = ON
    ◆
  :分岐終了
  ◆
:分岐終了
◆注釈:負荷軽減のウエイト
◆ウェイト:1フレーム

2ページ目

セルフスイッチAがオンの時
トリガー: 自動実行

内容

◆注釈:▼前処理
◆移動ルートの設定:プレイヤー (ウェイト)
:        :◇向き固定ON
:        :◇歩行アニメOFF
:        :◇移動速度:5
◆注釈:▼移動処理
◆ループ
  ◆指定位置の情報取得:座標ID, タイルID(レイヤー1), ({PLのx座標},{PLのy座標})
  ◆条件分岐:座標ID = 1652
    ◆移動ルートの設定:プレイヤー (ウェイト)
    :        :◇下に移動
    ◆セルフスイッチの操作:B = ON
    ◆
  :分岐終了
  ◆条件分岐:座標ID = 1653
    ◆移動ルートの設定:プレイヤー (ウェイト)
    :        :◇上に移動
    ◆セルフスイッチの操作:B = ON
    ◆
  :分岐終了
  ◆条件分岐:座標ID = 1660
    ◆移動ルートの設定:プレイヤー (ウェイト)
    :        :◇左に移動
    ◆セルフスイッチの操作:B = ON
    ◆
  :分岐終了
  ◆条件分岐:座標ID = 1661
    ◆移動ルートの設定:プレイヤー (ウェイト)
    :        :◇右に移動
    ◆セルフスイッチの操作:B = ON
    ◆
  :分岐終了
  ◆条件分岐:セルフスイッチ BがOFF
    ◆ループの中断
    ◆
  :それ以外のとき
    ◆変数の操作:#0011 PLのx座標 = プレイヤーのマップX
    ◆変数の操作:#0012 PLのy座標 = プレイヤーのマップY
    ◆セルフスイッチの操作:B = OFF
    ◆
  :分岐終了
  ◆
:以上繰り返し
◆注釈:▼後処理
◆移動ルートの設定:プレイヤー (ウェイト)
:        :◇移動速度:4
:        :◇歩行アニメON
:        :◇向き固定OFF
◆セルフスイッチの操作:A = OFF

コメント

コメントの投稿にはTwitterのログインが必要です。利用規約はこちら
編集メンバー参加申請

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

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

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

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

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