How to make a DOOM CLONE in Unity || E1M4 Player Health and Armor

SpawnCampGames
11 Jan 202109:21

Summary

TLDR在这个视频教程中,Spawn Camp继续开发一个游戏项目,专注于为玩家角色添加健康和装甲系统。首先,他创建了一个'Player Health'脚本来设置最大生命值和装甲值,并在Unity编辑器中通过脚本控制玩家的生命值。接着,他实现了一个'damage player'函数来模拟玩家受到伤害,包括装甲吸收伤害的逻辑。最后,他添加了当玩家生命值降至零时重置场景的功能,使用Unity的Scene Management。视频以对下一集内容的预告结束,承诺将介绍基本的库存系统和触发器。

Takeaways

  • 📂 开始前清理项目窗口,将脚本放入脚本文件夹。
  • 🕹️ 为玩家添加一个名为'Player Health'的新脚本组件。
  • 🔢 在脚本中定义公共变量'maxHealth'和私有变量'health',使用整数类型。
  • 🖊️ 在Unity的检查器中设置'maxHealth'的值为100。
  • 🛡️ 为玩家添加护甲系统,定义'maxArmor'和'armor'变量。
  • 🛑 在'DamagePlayer'函数中添加逻辑,先扣除护甲再扣健康值。
  • 🔧 测试时使用键盘右键Shift键来模拟玩家受到伤害。
  • 💥 当玩家健康值降到0或以下时,通过Debug.Log输出玩家死亡信息。
  • 🔄 玩家死亡后,使用场景管理器重置当前场景。
  • 🎮 视频教程接下来将设置基本的库存系统和触发器,包括健康和护甲的拾取以及对玩家造成伤害的环境。
  • 📢 视频结束时提醒观众如果喜欢这个系列,请点赞和订阅。

Q & A

  • 视频教程中提到的'spawn camp'是什么意思?

    -在视频教程中,'spawn camp'可能是指开发者在游戏开发过程中的一个阶段,即创建敌人并设置它们在游戏世界中生成(spawn)并停留在特定地点(camp)的行为。

  • 为什么要在视频中暂停一段时间?

    -视频中的制作者提到因为假期而暂停了一段时间,这表明制作者可能需要休息或处理个人事务,这是很常见的情况。

  • 视频中提到'doom guy wannabe'是什么意思?

    -'doom guy wannabe'在这里指的是玩家控制的角色,类似于经典游戏《毁灭战士》(Doom)中的主角。

  • 为什么在Unity中添加脚本组件后,脚本会出现在根资产文件夹而不是脚本文件夹?

    -这是因为Unity的默认行为是通过'添加组件'按钮添加新组件时,Unity会将脚本文件放在根资产文件夹中。如果想要脚本出现在特定的文件夹,需要手动将其拖放到该文件夹中。

  • 在Unity脚本中,为什么使用'public int maxHealth'而不是直接使用'public int health'?

    -使用'public int maxHealth'是为了区分最大生命值和当前生命值。这样可以在不改变最大生命值的情况下,通过脚本或游戏逻辑来修改当前生命值。

  • 为什么在脚本中将'health'变量设置为私有(private)?

    -将'health'变量设置为私有是为了封装,防止外部直接修改这个变量,确保只有脚本内部可以修改它,从而维护数据的一致性和安全性。

  • 在Unity中,如何测试玩家受到伤害的功能?

    -在Unity中,可以通过在Update函数中添加测试代码来模拟玩家受到伤害。例如,使用Input.GetKeyDown检测特定按键(如右Shift)被按下,并调用damagePlayer函数来模拟伤害。

  • 为什么在处理玩家受到伤害时要考虑装甲(armor)?

    -考虑装甲是为了增加游戏的复杂性和策略性。装甲可以在玩家受到伤害时吸收一部分伤害,保护玩家的生命值,使游戏玩法更加丰富。

  • 如何在游戏中实现装甲的逻辑,使其在受到伤害时先于生命值被消耗?

    -在damagePlayer函数中,首先检查玩家是否拥有装甲。如果有,根据装甲的值和受到的伤害来决定是消耗装甲还是将剩余的伤害转移到生命值上。如果装甲值大于或等于伤害,则只消耗装甲;如果装甲值小于伤害,则装甲被完全消耗,剩余的伤害转移到生命值上。

  • 在Unity中,如何实现玩家死亡后重置场景的功能?

    -在Unity中,可以通过SceneManagement命名空间中的SceneManager类来加载当前场景。在玩家生命值降到零时,使用SceneManager.LoadScene方法加载当前场景的索引,从而实现场景重置。

Outlines

plate

Этот раздел доступен только подписчикам платных тарифов. Пожалуйста, перейдите на платный тариф для доступа.

Перейти на платный тариф

Mindmap

plate

Этот раздел доступен только подписчикам платных тарифов. Пожалуйста, перейдите на платный тариф для доступа.

Перейти на платный тариф

Keywords

plate

Этот раздел доступен только подписчикам платных тарифов. Пожалуйста, перейдите на платный тариф для доступа.

Перейти на платный тариф

Highlights

plate

Этот раздел доступен только подписчикам платных тарифов. Пожалуйста, перейдите на платный тариф для доступа.

Перейти на платный тариф

Transcripts

plate

Этот раздел доступен только подписчикам платных тарифов. Пожалуйста, перейдите на платный тариф для доступа.

Перейти на платный тариф
Rate This

5.0 / 5 (0 votes)

Связанные теги
Unity开发游戏编程角色健康护甲系统伤害逻辑死亡机制脚本编写游戏设计玩家互动教程视频
Вам нужно краткое изложение на английском?