すべてにダメージを与える
CoddyのUnityジャーニー「Unityのゲームアーキテクチャ」セクションの一部。レッスン 52/64。
チャレンジ
中級インターフェースを通じて、ダメージを受けるものすべてに剣でダメージを与えられるようにしましょう。
IDamageable.csで、void TakeDamage(int amount);を宣言します。EnemyにIDamageableを実装します。TakeDamageでamountの値をhealthから差し引き、0以下になったら敵を破棄します。Hero.Swing()で、タグの判定とDestroyをhit.TryGetComponent(out IDamageable target)およびtarget.TakeDamage(swingDamage);に置き換えます。
「プレイ」を押して、グラントに剣を振りましょう。2回攻撃を当てると倒せます。その後、「確認」を押します。
自分で試してみよう
// 後のレッスンでここを実装します:ダメージを受ける可能性があるものすべて。
public interface IDamageable
{
}
Unityのゲームアーキテクチャのすべてのレッスン
自分で練習してみよう: Unityプレイグラウンド