当脚本只有Awake方法,没有其他方法的时候,脚本会失活。
结论2:脚本对象的失活和激活不做用于Awake方法。
结论1:Inspector>外部赋值(外部调用)>Awake>OnEnable>Start
结论3:游戏物体每次从失活道激活状态,Awake与Start只会调用一次,OnEable会在再次激活游戏物体后调用,所以Initf方法可以放在OnEable中
当脚本只有Awake方法,没有其他方法的时候,脚本会失活。
结论2:脚本对象的失活和激活不做用于Awake方法。
结论1:Inspector>外部赋值(外部调用)>Awake>OnEnable>Start
结论3:游戏物体每次从失活道激活状态,Awake与Start只会调用一次,OnEable会在再次激活游戏物体后调用,所以Initf方法可以放在OnEable中
经过实验得
1:调用顺序:先左后右 外部赋值Inspector>Awake>OnEnable>Start
Unity实例化是从上而下,父对象先于子对象。因此父对象实例化的时候,很多子对象awake方法里的对象还没有实例化,会造成报空的情况
CanvasTransform = GameObject.Find("Canvas").transform;
public UIFacade(UIManager uiManager)
为何要穿uiManager
上节HP问题
若定义一个父类来继承接口,子类继承父类,要同事显示子类和父类的方法的话。
可以在Start实例化中使用
Leblanc myHero=new Leblanc()
I/O
IHero myHero=new Leblanc()
意思就是需要使用子类对象来接受实例化的子类。
但是这样不方便。
另外解决方法。
使用重写方法。
父类改成Virtual void
子类改成override
这样便可以使用父类对象来接受了。
但是父类若定义了HP等数值,则需要以父类对象类接收,而不能以接口对象来接收