Unity脚本生命周期(一)

如果我们的脚本需要挂载到游戏对象上,就需要继承于MonoBehaviour
gameObject表示当前脚本组件所挂载的游戏对象
unity中输出到控制台使用print或者Debug.log
每个游戏对象身上都至少有一个组件,叫做Transform
transform表示当前游戏对象身上的Transform组件
继承于MonoBehaviour的类叫做运行时类,运行时类不能手动实例化

using UnityEngine;
using System.Collections;

// 继承于 MonoBehaviour 的类叫做运行时类
// 运行时类都不能手动实例化
public class Test : MonoBehaviour {

    // 这些方法都不是 MonoBehaviour 中定义的方法,而是通过反射调用的一些事件

    // 这些方法定义了一个脚本从被加载到被销毁的过程中,脚本的生命周期

    void Awake() {
        Debug.Log("Awake");
        // 每当脚本被加载时调用一次
        // 在 Awake 中做一些初始化的操作
        // 通常在 Awake 中放初始化 public 成员
    }

    void OnEnable() {
        Debug.Log("OnEnable");
        // 在每次激活脚本时调用
    }

    void Start () {
        Debug.Log("Start");
        // 在第一次调用 Update 之前调用一次 Start
        // Start 只会执行一次
        // 在Start 中做一些初始化操作
        // 在 Start 中放初始化 private 成员
    }

    void Update () {
        Debug.Log("Update");
        // 每帧调用一次 Update
    }

    void LateUpdate() {
        Debug.Log("LateUpdate");
        // 在Update 方法调用完之后调用,与Update 的调用次数一致
    }

    void OnDisable() {
        Debug.Log("OnDisable");
        // 取消激活状态后调用;与OnEnable是对应的
    }

    void OnDestroy() {
        Debug.Log("OnDestroy");
        // 脚本被销毁时调用一次
    }

    void OnGUI() {
        Debug.Log("OnGUI");
        // 脚本在激活状态下会持续调用
        // IMGUI、NGUI、UGUI 代码需要写在 OnGUI 方法中
    }

    void FixedUpdate() {
        Debug.Log("FixedUpdate");
        // 以固定的频率调用,不会受到图像刷新帧速率的影响
        // 一般我们会把处理物理的代码放在这里
    }
}

//public class A {

//    public void T() {
//        Test t = new Test(); // 这里这样写是错误的,Test是一个运行时类,不能够使用new手动创建对象
//    }
//} 

这里写图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值