为了将一个类附加到GameObject,它需要从MonoBehaviour继承。如果我创建一个包含NPC和PC都共享的所有属性的基本角色类,该如何创建该类的实例并将其附加到游戏对象上?举一个具体的问题示例,如果基本角色类具有诸如健康,耐力,力量等变量,并且我希望特定的游戏对象具有这些属性的特定集合,那么我如何将其附加到游戏对象上呢?它不能继承基本字符类?

我怀疑我犯的错误是认为这些实例甚至需要附加到我希望它们与之关联的对象上,但是这里提供了一些明确的指导将是最好的。

最佳答案

似乎您真正想要的是一个基类,它也允许其子代成为MonoBehaviours。您可以通过使基类成为抽象的MonoBehaviour并从其继承来实现此目的。

 public abstract class Base : MonoBehaviour
 {
     protected int HP;
 }


这样,您的此类孩子也将成为MonoBehaviours,您可以将其附加到GameObjects。

 public class Ninja : Base
 {
     void Start()
     {
          HP = 100;
     }
 }

09-07 01:30