using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ScriptLifeTest : MonoBehaviour
{
/* 不同的脚本挂载在同一个游戏对象时,
* 脚本的顺序:后挂载的脚本先执行。(尽量避免这样记忆)
* 想要更改脚本的使用顺序:
* 单击脚本 -> Inspector -> 点击ExecutionOrder -> Default Time -> + 选择脚本
(添加后,脚本后会有个数字,数字越大,优先级越高)
*/
/* 不同的脚本挂载在不同的游戏对象时,
* 在相同场景中,游戏对象的顺序,决定了脚本的优先级,越往上优先级越高。
*/
/// <summary>
/// 复位,发生在编辑器中,当第一次挂载脚本或者按Reset按钮的时候回调用
/// 在未运行的时候或运行过程中亦或者游戏对象未被使用时,游戏对象第一次挂载脚本时,也会被调用。
/// </summary>
private void Reset()
{
print("Reset");
}
/// <summary>
///唤醒方法,在开始运行的时候执行一次,并且在脚本的整个生命周期当中也只会执行一次
///此方法通常用来给对象进行初始化(实例化对象)
///当一个脚本实例被载入时调用一次
///(运行过程中,挂载脚本就会被调用,不论有没有被启用该脚本都会被调用)
/// </summary>
private void Awake()
{
print("Awake");
}
/// <summary>
/// 当启用该脚本组件的时候调用通常用来注册事件
/// 在整个脚本生命周期当中会执行多次。
/// </summary>
private void OnEnable()
{
print("OnEnable");
}
/// <summary>
/// 脚本组件启动的情况下 。
/// 固定更新方法(固定更新函数)默认每0.02 S(秒)【时间步调】执行一次。
///【时间步调—>更改的方法:Unity->Edit->Project Settings->Time->Inspector->Fixed Timestep (更改数值即可)】
/// 当Time.timeScale = 0;(时间流速)时,此函数不会执行(调用)。
///它的调用与时间有关,与帧率无关。
/// 此方法通常用作物理计算和更新(通常会把物理的计算和操作放在此方法当中)
///因此,此方法也被称为物理更新方法(函数)
/// </summary>
private void FixedUpdate()
{
print("FixedUpdate");
}
/// <summary>
/// 仅在UpDate函数第一次调用之前调用,在整个脚本的生命周期当中只执行一次。
///通常用作数值的初始化。(视情况而使用awake还是start)
/// </summary>
void Start()
{
print("Start");
}
/// <summary>
/// 脚本组件启动的情况下 。
/// 更新函数(方法),每帧执行一次,与帧率有关,与时间无关。
///Time.timeScale不会影响此方法。此方法用于处理游戏逻辑。
/// </summary>
void Update()
{
print("Update");
}
/// <summary>
/// 在update之后执行,每帧执行一次,此方法通常用来处理摄像机的移动。
///防止出现摄像机到了指定的位置,而角色没有到达的空帧。
/// </summary>
private void LateUpdate()
{
print("LateUpdate");
}
/// <summary>
/// 每帧调用多次,用来绘制GUI。(看不到,UGUI可以看到)
/// </summary>
private void OnGUI()
{
print("OnGUI");
}
/// <summary>
/// 跟OnEnable对应,当关闭此脚本组件的时候调用,通常用来注销事件
/// 在整个脚本生命周期当中会执行多次。
/// </summary>
private void OnDisable()
{
print("OnDisable");
}
/// <summary>
/// 销毁函数,当此脚本的实例被销毁的时候调用。
///(1.删除此脚本组件 2.删除它所挂载的游戏对象 3.结束游戏或切换场景)
///(隐藏此脚本组件不会被调用)
/// 一般处理一些善后的工作。(回收垃圾,清空内存,存储某些东西等等)
/// </summary>
private void OnDestroy()
{
print("OnDestroy");
}
}