近接攻撃を使用して敵を攻撃します。ダメージを与えるにはコライダーと攻撃アニメーションが必要です。タイミングとヒットの成功に基づいて、攻撃を連鎖させ、各攻撃に速度を追加できます。
ただし、攻撃アニメーションは別の場所で設定して実行する必要があります。Sprite Engine を使用している場合は、攻撃アニメーションを 1 回ループするように設定し、フレームごとにコライダーのサイズと位置を制御するための collider2D プロパティを追加します。アニメーションが完了したら、OnLoopOnce イベントを使用して、Melee クラスの CompleteAttack メソッドを呼び出します。
近接攻撃を作成するには、コライダーをゲームオブジェクトに追加し、それをプレイヤー トランスフォームの子として設定します。次に、Melee コンポーネントを追加し、プレイヤーの Melee abilityが有効になっていることを確認します。Melee システムは、コライダーを有効にし、アニメーション シグナルをアクティブに設定する役割を担います。
Melee | |
---|---|
Melee Name | 識別のために近接戦闘に名前を付けます。 |
Melee Collider | collider2D への参照。 |
Hit Layer | collider2D が衝突をチェックしてダメージを与えるレイヤー。 |
Input | |
---|---|
Buttons | 近接攻撃をトリガーするボタンの組み合わせ。ボタンを 1 つだけ使用したい場合は、2 番目のボタンが空であることを確認してください。 |
Attack From Sleep | 有効にすると、近接攻撃が無効になっている場合でも、システムはボタン入力がトリガーされているかどうかを確認します。トリガーされている場合、システムは近接攻撃をアクティブにします。 |
Cancel Others | 有効にすると、この近接攻撃はアクティブな近接攻撃をキャンセルできるようになります。これは、スリープからの攻撃が有効な場合にのみ発生します。 |
ブロッキングを有効にするには、近接ゲームオブジェクトに RigidBody2D コンポーネントを追加し、Body Type を kinematic に設定します。レイヤーを World または Player に変更します。World に設定すると、近接ブロックは歩いている敵をブロックできるようになります。ブロック アニメーションを攻撃アニメーションと同様の方法で設定しますが、ループに設定する必要はありません。
必要に応じてコライダーを構成します。
実行時に、コンポーネントは敵の攻撃を感知するために Health コンポーネントを追加します。
Blocking | |
---|---|
Block signal | ブロッキング中に True に設定されるアニメーション信号。 |
Block Button | ブロックするために保持する必要がある入力。 |
Must Hold | ブロックするためにアクティブにする必要がある 2 つのボタンを選択できます。デモでは、ボタンダウンが使用されています。 |
Cancel Combo | 有効にすると、ブロック入力により、ブロックするためにアクティブな近接コンボの進行を停止できます。 |
Stop Vel X | 有効にすると、プレイヤーはブロック中に x 方向に移動できなくなります。 |
Combos | 一部のフィールドは、コンボに複数の攻撃がある場合にのみ有効になります。 |
---|---|
Early timer | 攻撃開始後、どれくらい早くユーザーがボタンを押せばコンボの次の攻撃を正常に開始できるか。 |
Delay timer | 攻撃が終了してから、コンボの次の攻撃を正常に開始するためにユーザーがボタンを押せる時間はどれくらいですか。 |
Cool Down | 次のコンボを開始するまでの待機期間。 |
Hit To Continue | 有効にした場合、コンボの次の攻撃に進むには、現在の攻撃がターゲットに接触している必要があります。 |
On Cool Down | このイベントは、クールダウン時間のパーセンテージで呼び出されます。 |
Combos | |
---|---|
Signal Name | コンボを実行するときにシステムが true に設定するアニメーション信号。 |
Damage | 攻撃対象に与えたダメージの量。 |
Direction | ダメージが適用される方向。 |
Velocity x | コンボに x 方向に適用される速度。 「Additive Velocity」はプレイヤーの動きに追加されます。 「Absolute Velocity」はプレイヤーの動きを上書きします。 「Event Velocity」は絶対速度と同様に機能しますが、Event Velocityをアクティブにするには、Melee コンポーネントで BeginVelX (bool 値) メソッドを呼び出す必要があります。これは通常、アニメーションの特定のフレームでアニメーション コントローラーから呼び出されます。 |
Velocity y | コンボに適用される Y 方向の速度。これは、Velocity x とほぼ同じオプションです。 Jump Velocity が有効になっている場合、速度はジャンプ力として扱われます。 |
Attack | 「Anytime」が設定されている場合、コンボ シーケンスが続行されます。 「MustBeOnGround」が設定されている場合、コンボを続行するにはプレーヤーが地上にいる必要があります。 そうでない場合、プレーヤーはコンボを終了するか、シーケンス内の次のコンボにスキップするかを選択できます。 「MustBeOnAir」が設定されている場合も、同じルールが適用されます。 |
Go To Next | これは Early Timer のように機能します。 ただし、指定された時間が経過した後にユーザーがボタンを押すと、システムは現在のコンボが終了する前にすぐに次のコンボにジャンプします。 |
Recoil | 攻撃後、指定された方向にプレイヤーに反動力を加えます。 |
Is Locked | 有効にすると、UnlockAll または Unlock メソッドが呼び出されるまでこの攻撃は無効になります。 |
On Combo Begin | コンボの開始時に呼び出される Unity イベント。 |
Method | |
---|---|
Pause(bool value) | 一時停止すると、プレイヤーはこの近接攻撃を使用できなくなります。 |
CompleteAttack() | 攻撃アニメーションが完了したらこのメソッドを呼び出します。 |
UnlockAll() | これにより、現在ロックされているすべての近接攻撃がロック解除されます。 |
Unlock(int index) | これにより、指定されたインデックスで近接攻撃のロックが解除されます。 |
Signals: meleeCombo, meleeLeft, meleeRight