
1 経験:この「弾の方向を移動方向に追従させる」機能は、私を長い間悩ませていました。どのようにシンプルに実装すればよいか分からなかったのですが、今日、深い考察と実践を経て、ようやくシンプルに実装できました。(さらに、AGMだけで実現可能であり、コードやプラグインは一切不要です)
2 中核技術:AGM の FaceDirectingSettings と ChangeAngleSettings の 2 つのノードを組み合わせる手法です。
3 実装手順:
(1)プレイヤー、発射する弾、BulletsSettings、弾を発射するアクションなどを設定して弾を発射します。(ここでは詳しく説明しません。)
(2)弾のオブジェクトに、【FaceDirectiongSettings】と【ChangeAngleSettings】の 2 つのノードを追加します。
(3)まず VS アクションで FaceDirectiongSettings の機能を設定します。(オブジェクト VS → アクションプロパティ → 表示方向:Face…)
(4)角度を設定します(Angle… ノードを開き、【is_use_face direction】を有効化、ターゲットノードとしてこの弾の sprite2d を選択し、【ノードの回転を追加】をクリックします)。
4 最適化:
これで機能は実装できましたが、小さな問題があります。弾が出現した最初のフレームではデフォルトの角度が表示され、方向が調整されるまで一瞬点滅してしまいます。この問題も VS を使って解決します。
(1)弾の sprite2d の可視性をオフにします(右側の目のアイコンをオフにすると、弾が出現した直後は不可視になり、方向転換を実行する時間が確保されます)。

(2)最初のアクションでは何も行いませんが、必ず「表示方向:Face」を選択し、デフォルト機能の「少なくとも 1 フレーム待機」も有効にします(これで、弾が不可視の最初のフレームで AGM が弾の方向を調整します)。
(3)2 番目のアクションでは、無条件で実行し、同様に「表示方向:Face」を選択します。他の設定はデフォルトのままにします。そして、「自分のオブジェクトプロパティを変更」アクションを実行し、「可視性:visible」を有効にします。
5 よし、これで冒頭の効果が完璧に実装されました!


