異なる方向に弾を発射するにはどう設定すればよいですか?

こんにちは。2D プラットフォーマーのプレイヤーを設定し、上、下、真横に発射できるようにしました。アニメーションに基づいて正しい位置から弾を発射するようにコネクタを調整しました。すべて機能していますが、弾が望む角度ではなく、X 軸方向にのみ発射されてしまいます。ご助言いただければ幸いです。

この投稿の方法を試してみてください、役立つかもしれません:

ご返信ありがとうございます。しかし、非常に参考になりませんでした。提案された解決策を試してみましたが、全く効果はありませんでした。私が求めているのは、外部関数やプラグインを必要としないものです。私は、プラットフォームアクションゲームのように、上キー+攻撃キーを押したときにプレイヤーが約45度上向きに発射し、下キー+攻撃キーを押したときに約45度下向きに発射したいだけです。それがどのように実現できるのか分かりません。YouTubeのチャンネルを購読しており、素晴らしい情報が多いことは承知していますが、今回はそれとは関係ない内容でした。他に何かご存知でしょうか?

デフォルトのビジュアルスクリプティングを通じて可能です:

  1. 以下の画像のようにVS構造を設定し、visible_directionが何か、および入力(上、下)が押されているかを確認します:
  2. 次に、OneDirection設定を利用して、各状態に対して適切な角度の弾を発射します(直進はFireObjectDirectionを利用するため共有できます。プレイヤーオブジェクトのvisible_directionは常に0または180であるためです):

「いいね!」 1

本当にありがとうございます!まさに私が求めていたものです。では、今後は投射物を回転させる必要がありますが、最初の提案がそれを行うための適切な方法だと推測しています。実際に試してみましたが、ほぼ完璧に機能しました!

「いいね!」 1

現在、プレイヤーに合わせて弾が反転しない問題が発生しています。リンクの設定方法を教えていただければ幸いです。さまざまな組み合わせを試しましたが、どれも機能しませんでした :frowning:

状況と、変数経由で方向を設定することの現在の制限(今後のパッチで修正予定ですが、まだ利用できません)を考慮すると、私は別のアプローチをとります。

FireBullet の代わりに GenerateObject を使用しますが、直進する弾については FireBullet を維持します。その後、各方向の弾の開始アクションを指定します:

弾の中身では、DirectionalMove を使用して弾のアニメーションと進行方向を設定します。直進する場合(FireBullet を使用)はプレイヤーの方向を引き継ぐだけで済みますが、それ以外の場合は適切なセットアップアニメーションと進行方向を手動で指定します:

これで理解していただければ幸いです。また、表示方法の別の選択肢も提供できたと思います。残念ながら、この場合、弾のアニメーションと方向を手動で制御する必要があり、BulletData では対応できません。

もう一度ありがとうございます。しかし、これは私が求めたものではありません。私は、以前の推奨事項におけるステートとコネクタの設定について尋ねました。入力トリガーの配置場所が分かりにくいためです。私は代替案を本当に必要としていませんでした。以前のアドバイスはテスト済みで動作する提案だと考えていました。AGMでランアンドガンのプレイヤーを設定することがこれほど難しいのは奇妙に思えます。以前の提案に戻り、ステートとコネクタの設定を教えてください、または示していただけると幸いです。

元のリンクは次のようになります:

  1. 発射する弾丸が子供用銃オブジェクトからのものである場合(推奨)、リンクは「プレイヤーが上を押している」AND「プレイヤーが左を向いている(180度)」になります:

  1. プレイヤーオブジェクトから直接発射する場合、自分自身(Myself)を利用できます。同じ条件ですが、「Set Object」の代わりに「Myself」を使用します:

その後、右向きに0、左向きに180を使用して、他の各方向についても同じ操作を行います。

ご提案いただいた通り設定を行ったのですが、うまく動作せず、おそらく以下の3つのことが原因ではないかと推測しています。シャットトリガーの設定は以下の通りです:

方向チェックの設定は以下の通りです:

特定のステートの設定は以下の通りです:

現状では、左/右のストレートショットは正常に動作しますが、左上ショットはトリガーされるものの、右上ショットはトリガーされず、両方の下方向ショットもトリガーされません。方向チェックの設定が正しくないのではないかと考えています。もし何か見落としている箇所があれば、ご確認いただければ大変助かります。

ふむ、あなたの設定では動作するはずです。動作しない理由を確認するために、プロジェクトを zip ファイルにしてサポートメール pgmmv-support@gotchagotcha.jp へ送信していただくことは可能でしょうか?

問題ありません。それにどのような情報を添付すればよいですか?

この投稿へのリンクがあれば十分です、ありがとうございます!

「いいね!」 1

送信しました。ご協力いただき、本当にありがとうございます。

もし他の人も疑問に思っていたなら、問題はまっすぐ「発射」状態のリンク条件でした。それは優先度の高い発射入力を使用していたため、解決策はそのチェックに「上を押していない」および「下を押していない」を含めることでした。

「いいね!」 1

はい、見事に機能しました。ご支援いただきありがとうございます。以下に解決策のビジュアルを示します:

「いいね!」 1