【解決済み】イベントと不特定のイベントが接触した時にイベントを発生させたい

返信する
ケイケイケイ
記事: 2
登録日時: 2023年7月30日(日) 12:40

【解決済み】イベントと不特定のイベントが接触した時にイベントを発生させたい

投稿記事 by ケイケイケイ »

お世話になっております。

判りづらいタイトルで申し訳ありません。

敵キャラクター(オレンジ枠)が出口(赤枠)に到達してしまったら失敗、というタワーディフェンス風のミニゲームを作りたいと考えています。

敵キャラクターと出口が接触した時に失敗を知らせるイベントを発生させたいのですが、上手い方法が思い浮かびませんでした。

ツクマテ用.png
イベント同士の接触で検索してみたところ、両イベントのX,Y座標を取得してイベントを発生させる方法は見つかったのですが数十にもなるイベント(敵キャラ)のX,Y座標を取得するのが最善の方法とは思えずご助言をいただきたく投稿させていただきました。


出口の座標は固定です。
敵側は接触するだけで倒せるよう、プレイヤーから接触すると吹っ飛んでいくようにしています。
移動タイプをカスタムにしてスクリプトで出口に向かって近づくように設定しています。
ツクマテ用2.png

プレイヤー以外のイベントが出口に接触した時にイベント起こせるのが理想です。
そういった処理方法やプラグインがあれば教えていただけると助かります。
よろしくお願いいたします。
最後に編集したユーザー ケイケイケイ [ 2023年8月11日(金) 17:03 ], 累計 1 回
名無し蛙
記事: 352
登録日時: 2015年11月23日(月) 02:46

Re: イベントと不特定のイベントが接触した時にイベントを発生させたい

投稿記事 by 名無し蛙 »

移動コマンドの直下に「スクリプト」で

コード: 全て選択

  if (this.pos(x座標, y座標)) $gameSwitches.setValue(スイッチ番号, true);
と入力するのが無難でしょうね。
並列イベントで毎フレーム、全てのイベント位置をチェックする、という方法もありますけど
こちらの方が総判定回数が少ない分低負荷だと思います。
目標イベントと連動させるなら

コード: 全て選択

  if (this.pos($gameMap.event(14).x, $gameMap.event(14).y)) $gameSwitches.setValue(スイッチ番号, true);
としても良いです。
スイッチをフラグに自動実行イベントを起動してください。
ケイケイケイ
記事: 2
登録日時: 2023年7月30日(日) 12:40

Re: イベントと不特定のイベントが接触した時にイベントを発生させたい

投稿記事 by ケイケイケイ »

ありがとうございます!

無事にイベントを発生させることができ、イメージ通りの動きになりました!

大変助かりました。解決済みとさせていただきます。
ありがとうございました。
返信する

“MZ:質問”に戻る