对所有目标造成伤害
本课属于 Coddy Unity 学习旅程的“Unity 游戏架构”单元。第 52 课,共 64 课。
挑战
中等通过接口,让剑能够伤害任何可以受伤的对象。
- 在
IDamageable.cs中,声明void TakeDamage(int amount);。 Enemy实现IDamageable:TakeDamage从health中减去amount,并在生命值降到 0 或更低时销毁敌人。- 在
Hero.Swing()中,将标签检查和Destroy替换为hit.TryGetComponent(out IDamageable target)和target.TakeDamage(swingDamage);。
按下“开始”,然后攻击一个小兵:它需要受到两次攻击。接着按下“检查”。
亲手试试
// 后面的课会补充这里:任何能受到伤害的东西。
public interface IDamageable
{
}
Unity 游戏架构中的所有课
自己练习: Unity 在线编辑器