unity3d脚本编程
UnityEngine.behaviour是UnityEngine.Monobehaviour和UnityEngine.Component类之间的一个类;
有两个特殊的变量:
- enabled :启用状态下,会执行每帧的更新。禁用状态下则不会执行更新
- isActiveAndEnabled:表示当前的Behaviour是否被启用
unityEngine.MonoBehaviour类继承自UnityEngine.Behaviour类。MonoBehaviour是U3D中所有类的基类;
一些公共方法:
- CanceInvoke:取消当前MonoBehaviour脚本中所调用的Invoke方法
- Invoke:在指定时间内调用指定方法
- InvokeRepeating:在指定时间内调用指定方法,之后间隔指定时间重复调用
- IsInvoking:指定方法是否正等待被调用
- StartCoroutine:开启一个协程
- StopAllCoroutines:停止所有协程
- StopCoroutine:停止一个协程
消息:
类成员有 Awake[脚本实例刚刚被加载的时候,就会触发该函数],FixUpdate[当前脚本处于enabled状态,间隔 一定时间就会调用该函数],LateUpdate[当前脚本处于enabled状态,在Update函数之后调用],Update[当前脚本处于enabled状态,每一帧调用一下该方法],OnCollisionEnter[当碰撞器或刚体开始触碰另一个刚体或碰撞体时],OnCollisionExit[当碰撞器或刚体结束触碰另一个刚体或碰撞体时],OnCollisionStay[当碰撞器或刚体正在触碰另一个刚体或碰撞体时,每帧都会调用],OnDestroy[当该MonoBehaviour即将被销毁的时候,调用],OnDisable[当MonoBehaviour的状态为enabled或inactive时,调用OnDisable],OnEnable,OnMouseDown,,,
注:随引擎和脚本的更新,会有多多少少的变更,具体就参照具体的对应版本的方法参数就好;
和一般C#脚本,所有的引用类型都使用关键字new实例,在unity中凡是继承于MonoBehaviour类的类型,或其本身都无法使用new关键字来实例化。
不积跬步,无以至千里;不积小流,无以成江海。