ページ 11

【解決済み】画面外に出たイベント(弾)の処理方法について

Posted: 2025年3月31日(月) 04:18
by mer9
お世話になっております。

こちらの方の動画を参考にガンアクションもどきを作っています。(57:10〜)
https://www.youtube.com/watch?v=LnUZuCX ... A&index=32

プレイヤーがマップを自由に移動でき、特定のキーを押すと弾が出て
歩いている敵を倒していく仕組みです。

表題の件ですが、現在縦に長いマップを作っています。(横はデフォルトのままです)
飛ばした弾が画面外に出た際に、弾がマップ上下の端まで到達するまでに待機時間(プレイヤーが動かせない状態)が数秒発生してしまいます。
画面外に弾が出た時点で次の弾が打てる状態にしたいのですがどのように処理すればよいでしょうか。

添付画像は動画のスクショになります。(1:06:00〜)

スクリプトも見よう見まねですので書き方が全く分かりません。
ご教授いただけますと幸いです。よろしくお願い致します。

Re: 画面外に出たイベント(弾)の処理方法について

Posted: 2025年4月01日(火) 00:02
by ゆわか
画面の外に出たかどうかを返してくれるスクリプトがあれば簡単そうですが
見つからない場合は、プレイヤーと弾の距離を比較して、一定の距離離れたら弾が消えるように
イベントを追加する感じになると思います。

例えば、プレイヤーが常に画面の中心にいるとしたとき
画面の外にイベントがいるのは、y軸なら7の差がある時だよね。

という前提でイベントを作ると

◆変数の操作:#0008 プレイヤーY座標 = プレイヤーのマップY
◆変数の操作:#0006 イベントY座標 = このイベントのマップY
◆変数の操作:#0008 プレイヤーY座標 -=イベントY座標
◆条件分岐:プレイヤーY座標 = 7
◆イベントの一時消去

:分岐終了

こんな感じですかね。
上方向のみの計算ですが。

プレイヤーが常に画面の真ん中にいない場合は・・・さらにそれを考慮した計算式になると思うので
頑張って計算するか、常にプレイヤーが画面の中央にいるようなマップの作り方をするかでしょうか。

Re: 画面外に出たイベント(弾)の処理方法について

Posted: 2025年4月01日(火) 01:29
by mer9
ゆわか 様

ご返信ありがとうございます!

プレイヤーは常に中央にいるわけではないので試行錯誤が必要そうですね…。
仰る通りスクリプトがあれば良いのですが見つけられませんでしたTT

難しそうなのでやり方を考え直してみようと思います。
ご提案いただきありがとうございました! :D