首页 > 解决方案 > 有没有办法制造各种类型的敌人?

问题描述

我正在制作一个统一的平台游戏。我需要一些具有不同模式的敌人。

例如,有一个史莱姆等待玩家并向玩家跳跃,一个蝙蝠在玩家周围飞行,还有一个地精射箭向玩家巡逻和射击。会有更多各种各样的敌人,但我不知道如何有效地制造和管理它们。

我能想到的唯一方法是为一种敌人制作一个脚本;但我认为这是效率低下的方式,并且如果我需要的话很难管理敌人(例如,我不能让敌人阵列)。有此类工作的示例或示例吗?

标签: c#oopunity3d

解决方案


您可以创建一个具有所有统计数据(如速度、伤害、健康...),并且还具有主要功能(如生成、死亡、攻击、移动、跳跃)的 Enemy 类。

您应该使这些值和函数尽可能简单,然后为更具体的(如蝙蝠或弓箭手)继承该脚本。你也可以让一些功能来自接口,无论你喜欢哪个。

关键是您可以将游戏中的所有敌人都视为“敌人”,而无需施放职业或检查其类型。

如果您不想为不同的敌人创建不同的类,那么您可以使 Enemy 脚本具有在编辑器中可见的值(如开关和选项),并创建一个系统,您可以通过更改来创建一个独特的敌人这些值(比如他能跳吗?他的移动速度有多快?他的精灵是什么?动画控制器?他造成多少伤害?他有二段跳吗?他能飞吗?他能往你脸上扔馅饼吗?等等。 .)


推荐阅读