このコースでは、ACTION GAME MAKERの基本的なスクリプト技術を学びます。
パート3では、剣の攻撃を作成します。
始める前に
このチュートリアルシリーズのパート1およびパート2のプロジェクトを引き続き使用します。
続行する前に、そのプロジェクトを開いて準備を整えてください。
このコースでは、ACTION GAME MAKERの基本的なスクリプト技術を学びます。
パート3では、剣の攻撃を作成します。
このチュートリアルシリーズのパート1およびパート2のプロジェクトを引き続き使用します。
続行する前に、そのプロジェクトを開いて準備を整えてください。
Object_Sampleplayer を開きます。W005 Gun の templates > objects > weapons > P_other にいくつかの剣の画像が見つかります。B_Weapon の子として追加します。ここでは W_001_sword.png を使用します。AnimationPlayer を使用してアニメーションを確認します。033_Swing を再生します。何かおかしい場合は、W001Sword のプロパティを微調整してください。AttackArea が存在しますが、現在はプレイヤーの足元に配置されています。AttackArea2D を B_Weapon の子として移動します。AttackArea2D の位置を剣に合わせて調整します。良い設定例は x: 13、y: -11、Rotation: -42 です。AttackCollision のサイズと位置を調整します。位置と回転がずれている可能性があるため、両方を 0 にリセットします。また、デフォルトのヒットボックスが少し短すぎるように見えるため、形状を長くしましょう。注:形状を調整すると、x 座標が自動的に変更される場合があります。Swing アニメーションをもう一度再生します。ヒットボックスは now 剣と一緒に動くはずです。スプライトキャラクター用の攻撃ヒットボックス
スプライトシートを使用して作成されたキャラクターの場合、アニメーションに基づいて攻撃ヒットボックスのサイズと位置を調整することをお勧めします。
インスペクターで CollisionShape2D の Shape プロパティを展開します。
攻撃モーションの一部として、形状のサイズと位置をアニメーション化するためのキーフレームを設定できます。
Sword という名前の新しいステートを作成し、アニメーションを Swing に設定します。Enemy グループ内のオブジェクトのみをヒットするように設定します。Idle から Sword へのリンクを作成し、条件をY ボタンが押されたとき(キーボードの場合は V キー)に設定します。Idle から Sword へのリンクを選択した状態で、Ctrl+C を押すか、右クリックしてコピーを選択します。Move を選択し、Ctrl+V を押すか、右クリックしてリンクの貼り付けを選択して Sword に接続します。これにより、移動しながら剣攻撃を実行できるようになります。Sword から Idle へのショートカットリンクを作成し、条件をアニメーションが終了したときに設定します。これで近距離剣攻撃が機能するはずです。テストして、すべてが正しく設定されていれば、Y ボタン(キーボードの場合は V キー)を押すことでプレイヤーが剣で斬り、ゾンビを倒せるようになります。
ただし、いくつかの問題に気づくかもしれません。
次のステップで、これらの問題に対処します。
Idle ステートを選択し、3 つのアクションを追加します。W005Gun ノードの Visible プロパティを オフ に設定します。W001Sword ノードの Visible プロパティを オフ に設定します。AttackCollision ノードの Disabled プロパティを オン に設定します。Sword ステートで、設定を逆転させます。W001Sword の Visible プロパティを オン にする ChangeObjectProperty です。AttackCollision の Disabled プロパティを オフ にする ChangeObjectProperty です。Shoot ステートで、1 つのアクションを追加します:W005Gun の Visible プロパティを オン にする ChangeObjectProperty です。このコースでは、スプライトの表示/非表示を切り替えるために ChangeObjectProperty アクションを使用しました。
しかし、Visible や Disabled などのプロパティをキーフレームとして設定することで、アニメーションを通じてプロパティを制御することもできます。
ただし、注意が必要です:
アニメーションがキーフレームに到達する前に中断された場合、変更が正しく反映されない可能性があります。
例えば、026_Crouch のような一部のアニメーションでは、このテクニックを使用してアニメーションポリゴンで表情を切り替えています。
AnimationPlayer の使用方法については、グラフィックスコースを参照してください。
次のコース:パート 4