Menu
CoddyTech

体力と攻撃

CoddyのUnityジャーニー「物理演算とゲームプレイ」セクションの一部。レッスン 59/63。

challenge icon

チャレンジ

中級

ハンターがダメージを与えるようになりました。これまでのレッスンの内容はすべて維持してください。Player には Health スクリプトがあり(Inspector で hp を 3 に設定します)、Hunter のプレハブでは新しい knockback フィールドを 12 に設定します。

Health を完成させましょう。

  • amount を hp から差し引き、残りを HP: 2 のようにログに出力する、TakeDamage(int amount) という public メソッド。
  • hp が 0 になったら、Game over をログに出力し、プレイヤーの Player スクリプトを無効にして、矢印キーが効かなくなるようにします。
  • hp が 0 になった後は、それ以上攻撃を受けても何も起きないようにします。値も変わらず、ログも出力されません。

Hunter に追加しましょう。

  • knockback フィールド。
  • ハンターが Health を持つもの(プレイヤーだけが持っています)にぶつかったとき、その TakeDamage(1) を呼び出し、地面に沿ってハンターからまっすぐ離れる方向へ、knockback の Impulse で弾き飛ばします。

Play を押して、どれだけ長く生き残れるか試してから、Check を押してください。

自分で試してみよう

using UnityEngine;

public class Health : MonoBehaviour
{
    // 後のレッスンでここにプレイヤーのヒットポイントを実装します。
}

物理演算とゲームプレイのすべてのレッスン