只有最简单的Public变量才可以在inspect里显示,变量是可以在inspect里赋值并realtime反应在被attach到的GameObject上的
经典public property的写法,在inspect里不会显示
MonoBehaviour不可以new
Initilize Constructor只可以用不带参数的,不可以重载带不同参数的constructor,默认会变为不带参数的。应该使用Start()
不可以override MonoBehabiour基类
不可以override Start和Update各种方法
Corotine是关于suspend that activity in the game和访问WWW object的技巧
Unity的各种方法
- Lifecycle function
Awake():dynamic或者drag到GameObject上的script一旦load到scene里就开始Awake()
Start():在Update()之前call one time,这是Initialize MonoBehaivour代替Constructor的地方,加入自己的Coroting
FIxedUpdate():和Physics相关的计算放这里,Call on fixed time interval(使用的原因called once per farme,如果很多geometry需要被load会死掉),因为每一个game loop的frame时间长短可能不一样,取决于渲染每次frame的速度,所以一个fame里会被call几次FixedUpdate也就决定于这个frame的大小,可能一个frame被call10次,也可能被call5次。但是每个frame之间的FixedDetalTime都是一样长0.02/sec(自己定的?),所以有的渲染快的frame被call了5次,有的渲染慢的frame被call了10次。
Update():called once per farme,任何希望每个frame都load一次的逻辑放这里
LateUpdate():Call once per farme but after Update(),是用来和Update()做sychonize的。Used for tracking or following calculation,一个camera1在update的每个loop完成的时候,LateUpdate里的camera2根据Update中camera1的角度调整自己的角度。
- Event functions:
*On 在Unity script主页可以看到