先日、RPGツクールMZでマップを作っていたところ、奇妙な現象に遭遇しました。
それは、マップタイルを通行不可にしているのに、なぜか通行できてしまうという現象です。画像にすると、次のような感じです。
1.キャラクターの前に、通行×(通行不可)の設定をしたマップタイル(シャッター)を配置しました。
2.……が、キャラクターをシャッターの方にむけて動かすと、なぜか通行できてしまいます。
3.シャッターのタイルは通行設定を×(通行不可)にしているのに、なんとも不思議な現象です。
マップタイルの設定を見直しましたが問題はない様子。シャッターは通行できない設定になっています。だったら、この現象はなに……!?
初めて遭遇した現象なのでびっくりしてしまいました。あれこれ試していたところ、原因がわかりました。
というわけで、今回の現象の原因と解決方法です。
原因
原因は「シャッターのレイヤー」の上に配置したものを消す時に使った透明のマップタイルでした。
今回はマップを次のようにつくっていました。
- レイヤー2に「シャッターのマップタイル(通行不可)」を配置
- レイヤー3にシャッターの上にオブジェクトを配置した
- ……が、オブジェクトがないほうがいい感じだったので、透明のマップタイルでレイヤー3のシャッターの上のオブジェクトを消した
これがどういうことかというと、消しゴムとして使ったつもりの透明のマップタイルの通行設定が〇(通行可能)になっていたんですね。
つまり、レイヤー構成が
- レイヤー3「透明のマップタイル(通行〇 通行可能)」
- レイヤー2「シャッターのマップタイル(通行× 通行不可)」
という形になっていたんですね。
レイヤーは上にあるほうが優先されるので、透明のマップタイルを使った部分が通行可能になってしまったというわけです。
透明のマップタイルは消しゴム感覚で使いたくなりますが、実際は消すのではなく、透明のマップタイルに置き換えている処理なんですね。
対処法
消しゴムを使う場合
透明タイルを消しゴムとして使う場合は、タイルセットBのいちばん左上にあるものを使うと、純粋な消しゴムとして作用します。
純粋な消しゴムとして使うことができ、下のレイヤーの通行設定に干渉しないのでとても便利です。
今回の例でしたら、レイヤー3に配置した「透明のマップタイル(通行〇 通行可能)」を消しゴムで消せばOKです。
消しゴムを使わない場合
消しゴムを使わない場合は、通行不可のマップタイルを上のレイヤーに配置するのがかんたんかと思います。
今回の現象でしたら、「レイヤー3に配置した透明のタイルマップ(通行〇 通行可能)」が原因ですので、
- レイヤー3またはレイヤー4に、シャッターのタイルマップ(通行× 通行不可)を配置する
という形でもよいかと思います。
空イベントを使う場合
どこに「透明のマップタイル(通行〇 通行可能)」を配置したのかわからない場合は、空イベントを作って通行不可にする方法もあります。
イベントの中身はからっぽでプライオリティを「通常のキャラと同じ」するだけでOKです。これを通行不可にしたいところに配置しておけば、キャラクターは通行することができません。
記事で使用したアイテム
今回の記事で使用したアイテムは次の通りです。ツクールストアで購入したどらぴかさんの素材を使用しています。
【どらぴかドットマップ素材 現代街編】

透明のマップタイルを消しゴムとして使う場合は注意ということですね。同じような現象に遭遇して困っている方がいましたら、よかったら参考にしてみてください。