
イベントのすり抜けをスクリプトで変更する方法はあるの?

あるぞ。setThrough()を使用すれば、
イベントのすり抜けを有効・無効に切り替えられるぞ。
RPGツクールMVでは、スクリプトを使用することで、イベントのすり抜けを変更できます。
この記事では、イベントIDが2のイベントを例に、すり抜けを有効にする方法と解除する方法を解説します。
1. イベントのすり抜けを有効にする
イベントをすり抜け可能にする場合は、setThrough(true) を使用します。
イベントIDが2のイベントをすり抜け可能にするスクリプトは、次のとおりです。
$gameMap.event(2).setThrough(true);
このスクリプトを実行すると、イベントIDが2のイベントがすり抜け可能になります。
通常は通行できない地形や、ほかのキャラクターとの衝突を無視して移動させたい場合などに使用できます。
2. イベントのすり抜けを解除する
すり抜けを解除する場合は、setThrough(false) を使用します。
$gameMap.event(2).setThrough(false);
このスクリプトを実行すると、イベントIDが2のイベントのすり抜けが無効になります。
例えば、イベントを一時的にすり抜け可能にし、特定の処理が終わった後に通常の移動に戻すといった使い方ができます。
3. すり抜けの有効・無効を使い分ける
setThrough() の引数によって、すり抜けの状態を切り替えられます。
| スクリプト | 処理 |
|---|---|
setThrough(true) |
すり抜けを有効にする |
setThrough(false) |
すり抜けを無効にする |
例えば、イベントIDが2のイベントを一時的にすり抜け可能にし、その後に解除する場合は、次の2つのスクリプトを使用します。
すり抜けを有効にする
$gameMap.event(2).setThrough(true);
すり抜けを解除する
$gameMap.event(2).setThrough(false);
なお、setThrough(false) は、すり抜けを無効にする処理です。元のイベントページに設定されていたすり抜け状態を自動的に復元するものではありません。
4. 使用する際の注意点
イベントのすり抜けを変更する際は、次の点に注意してください。
$gameMap.event(2)の数字は、現在のマップ上にあるイベントのIDです。- すり抜けを有効にすると、通常の通行判定やキャラクターとの衝突判定を無視して移動できるようになります。
- すり抜けを有効にしても、イベント自体が透明化されたり、消去されたりするわけではありません。
- イベントページを切り替えると、切り替え先のページに設定されたすり抜け状態が適用される場合があります。ページ切り替え後も状態を変更したい場合は、必要に応じて再設定してください。
- 存在しないイベントIDを指定するとエラーの原因になるため、正しいイベントIDを指定してください。
以上が、イベントのすり抜けを変更するスクリプトです。
イベントを壁やキャラクターに妨げられずに移動させたい場合や、イベントの移動制限を一時的に変更したい場合などに活用できます。

コメント