Unity3D事件函数执行顺序
来源:互联网 发布:疯狂的java讲义百度云 编辑:程序博客网 时间:2024/05/16 02:00
最近在复习Unity 3D的基础知识,虽然简单,但对于有些不常用的还是容易忽略和犯错,因此还是觉得总结一下比较好。
本文主要以官方的API为主,Unity 版本为5.6.参考链接为:事件函数 如果有不当之处,欢迎指出。
代码示例如下:
using System.Collections;using System.Collections.Generic;using UnityEngine;public class EventFunction : MonoBehaviour { /// <summary> /// Editor(脚本编辑时操作) /// </summary> //该脚本组件被挂载和重置时被执行 private void Reset() { Debug.Log("Reset被执行!"); } /// <summary> /// Initialization(初始化操作) /// </summary> private void Awake() { Debug.Log("Awake被执行!"); } private void OnEnable() { Debug.Log("OnEnable被执行!"); } // Use this for initialization void Start () { Debug.Log("Start被执行!"); } /// <summary> /// Physics 物理性质操作 /// </summary> //执行时间固定 private void FixedUpdate() { Debug.Log("FixedUpdate被执行!"); } //OnTriggerXXX //OnCollisionXXX //yield WaitForFixedUpdate /// <summary> /// Input /// </summary> //OnMouseXXX /// <summary> /// Game logic 游戏逻辑 /// </summary> // Update is called once per frame ////执行时间不固定,由函数内部决定 void Update () { Debug.Log("Update被执行!"); } //yield null //yield WaitForSeconds //yield WWW //yield StartCoroutine //执行时间不固定,由函数内部决定 private void LateUpdate() { Debug.Log("LateUpdate被执行!"); } /// <summary> /// Gizmo rendering /// </summary> /// //在编辑器模式下被执行 private void OnDrawGizmos() { Debug.Log("OnDrawGizmos被执行!"); } /// <summary> /// GUI rendering /// </summary> //每帧被多次执行 private void OnGUI() { Debug.Log("OnGUI被执行!"); } /// <summary> /// End of frame /// </summary> //yield WaitForEndOfFrame /// <summary> /// Pausing /// </summary> //OnApplicationPause is called after the frame where the pause occurs but issues another frame before actually pausing. //OnApplicationPause在出现暂停帧之后被调用,但在实际暂停之前发出另一帧 private void OnApplicationPause(bool pause) { Debug.Log("OnApplicationPause被执行!"); } //在脚本该帧时被禁用时执行,如果它是启用,则OnEnable会再次被执行 private void OnDisable() { Debug.Log("OnDisable被执行!"); } //项目退出时被执行 private void OnApplicationQuit() { Debug.Log("OnApplicationQuit被执行!"); } //脚本销毁时被执行 private void OnDestroy() { Debug.Log("OnDestroy被执行!"); }}
执行结果如下:
此处需要注意下,OnDrawGizmos与OnApplicationPause的执行,OnDrawGizmos函数,仅在编辑器模式下执行,而OnApplicationPause函数,我个人理解是,在遇到暂停帧之后被调用,即应用程序失去了焦点与恢复焦点时被调用。但API里面指出,它在实际暂停前返回到start方法前调用。如果理解不对的地方还望指出!谢谢!
阅读全文
0 0
- Unity3D事件函数执行顺序
- unity3d 事件函数的执行顺序
- Unity3D中事件函数的执行顺序
- Unity3D事件函数的执行顺序
- Unity3D事件函数的执行顺序
- 【Unity3D】 Unity3D中自带事件函数的执行顺序
- Unity3D中自带事件函数的执行顺序
- Unity3D中自带事件函数的执行顺序
- Unity3D中组件事件函数的执行顺序
- Unity3D中自带事件函数的执行顺序
- Unity3D中自带事件函数的执行顺序
- Unity3D中自带事件函数的执行顺序
- Unity3D中自带事件函数的执行顺序
- Unity3D中自带事件函数的执行顺序
- Unity3D中自带事件函数的执行顺序
- Unity3D中自带事件函数的执行顺序
- Unity3D中自带事件函数的执行顺序
- Unity3D中各种事件函数的执行顺序
- Redis--java存取Redis中的数据
- C++ 学习零零碎碎 未完
- LeetCode 1. Two Sum
- hibernate_使用c3p0连接池配置
- MySQL添加新用户、为用户创建数据库、为新用户分配权限 标签: MySQL 2016-12-17 16:41 2768人阅读 评论(0) 收藏 举报 分类: =======学习心得=======
- Unity3D事件函数执行顺序
- JZOJ 1776. 经济编码 (Standard IO)
- 产生冠军 (快速AC代码)
- 淘淘商城系列(五)图片上传实现
- linux系统介绍
- 7.12-集体智慧编程-笔记-提供推荐--未完
- 关于virtual interface
- POJ 3165 Traveling Trio 笔记
- MySql-LIKE用法