建立2个子GameObject,名称为“1”,“2”分别给予两个子脚本TEST1,TEST2。
这两个自脚本继承与TEST脚本。然后分别加载一个SpriteRenderer组件。
父类脚本内容:
using UnityEngine;
public class TEST : MonoBehaviour
{
public Renderer[] bulletRenderers;
private void Awake()
{
bulletRenderers = this.transform.GetComponentsInChildren<Renderer>();
}
}
这时候运行,会发现
只有一个含有值,另一个是空的。
这时候只需要将父类脚本内容从Awake修改到Start中就可以了
using UnityEngine;
public class TEST : MonoBehaviour
{
public Renderer[] bulletRenderers;
private void Start()
{
bulletRenderers = this.transform.GetComponentsInChildren<Renderer>();
}
}
这是后运行,会发现
这时候2个子类都有值了!
子类脚本TEST1,TEST2继承于父类TEST:
public class TEST1 : TEST
{
}
public class TEST2 : TEST
{
}