首页 > 其他分享 >Unity常用事件函数

Unity常用事件函数

时间:2023-05-07 22:35:56浏览次数:60  
标签:脚本 常用 调用 函数 void Unity Debug 赋值 Log

  1 public class EventFunction : MonoBehaviour
  2 {
  3     public float attackValue=10000;
  4     public float currentHP;
  5 
  6     //对变量赋值的顺序(左边最先赋值,右边最后赋值,以此类推):
  7     //变量声明并直接赋值>检视面板赋值>Awake>OnEnable>Start>外部赋值
  8     //我们一般对一个对象赋值,或者说想要从外部对一个对象的属性或者成员变量的值
  9     //进行更改的前提是,这个对象已经有了(意味着start方法已经调用),所以外部赋值
 10     //会后于Start方法进行调用
 11 
 12     private void Reset()
 13     {
 14         //1.调用情况
 15         //此函数只能在编辑器模式下(不运行)调用。
 16         //2.调用时间,次数与作用
 17         //当脚本第一次挂载到对象或者使用了Reset命令之后调用,
 18         //来初始化脚本的各个属性,Reset最常用于在检视面板中提供良好的默认值。
 19         //Debug.Log("调用了Reset方法");
 20         //Debug.Log("攻击值重置为默认值");
 21     }
 22 
 23     private void Awake()
 24     {
 25         //1.调用情况
 26         //a.在加载场景时初始化包含脚本的激活状态的GameObject时
 27         //b.GameObject从非激活转变为激活状态
 28         //c.在初始化使用Instantiate创建的GameObject之后
 29         //2.调用时间,次数与作用
 30         //在脚本实例的生存期内,Unity 仅调用 Awake 一次。脚本的生存期持续到包含它的场景被卸载为止。
 31         //Unity 调用每个GameObject的Awake的顺序是不确定的,人为干涉(即设计)来保证程序的正确性和稳定性
 32         // Awake 来代替构造函数进行初始化,在Unity这里,组件的初始化不使用构造函数 
 33         //Debug.Log("调用了Awake方法"); 
 34         //attackValue = 1;
 35     }
 36 
 37     private void OnEnable()
 38     {
 39         //1.调用情况
 40         //a.游戏物体被激活
 41         //b.脚本组件被激活
 42         //2.调用时间,次数与作用
 43         //每次游戏物体或者脚本被激活都会调用一次
 44         //重复赋值 变为初始状态
 45         //Debug.Log("调用了OnEnable方法");
 46         //currentHP = 100;
 47         //Debug.Log("当前血量为:"+currentHP);
 48         //attackValue = 2;
 49     }
 50 
 51     void Start()
 52     {
 53         //1.调用情况
 54         //a.游戏物体被激活
 55         //b.脚本组件被激活
 56         //2.调用时间,次数与作用
 57         //在脚本实例激活时在第一帧的Update之前被调用
 58         //后于Awake执行,方便控制逻辑的前后调用顺序
 59         //Debug.Log("调用了Start方法");
 60         attackValue = 3;
 61     }
 62 
 63     void Update()
 64     {
 65         //1.调用情况
 66         //a.游戏物体被激活
 67         //b.脚本组件被激活
 68         //2.调用时间,次数与作用
 69         //每帧调用,是最常用函数,每秒调用60次左右(根据当前电脑的的性能和状态)
 70         //实时更新数据,接受输入数据
 71         //Debug.Log("调用了Update方法");
 72     }
 73 
 74     private void LateUpdate()
 75     {
 76         //1.调用情况
 77         //a.游戏物体被激活
 78         //b.脚本组件被激活
 79         //2.调用时间,次数与作用
 80         //LateUpdate在调用所有Update函数后调用,每秒调用60次左右,安排脚本的执行顺序
 81         //比如摄像机跟随,一定是人物先移动了,摄像机才会跟随
 82         //Debug.Log("调用了LateUpdate方法");
 83     }
 84 
 85     private void OnDisable()
 86     {
 87         //1.调用情况
 88         //a.游戏物体被禁用
 89         //b.脚本组件被禁用
 90         //c.游戏物体被销毁
 91         //2.调用时间,次数与作用
 92         //满足调用情况时即时调用一次,用于一些对象的状态重置,资源回收与清理
 93         Debug.Log("调用了OnDisable方法");
 94     }
 95 
 96     void OnApplicatoinQuit()
 97     {
 98         //1.调用情况
 99         //a.在程序退出之前所有的游戏对象都会调用这个函数
100         //b.在编辑器中会在用户终止播放模式时调用
101         //c.在网页视图关闭时调用
102         //2.调用时间,次数与作用
103         //满足调用情况时即时调用一次,用于处理一些游戏退出后的逻辑
104         Debug.Log("OnApplicationQuit");
105     }
106 
107 
108     void OnDestroy()
109     {
110         //1.调用情况
111         //a.场景或游戏结束
112         //b.停止播放模式将终止应用程序
113         //c.在网页视图关闭时调用
114         //d.当前脚本被移除
115         //e.当前脚本挂载到的游戏物体被删除
116         //2.调用时间,次数与作用
117         //满足调用情况时即时调用一次,用于一些游戏物体的销毁
118         Debug.Log("OnDestroy");
119     }
120 }

 

标签:脚本,常用,调用,函数,void,Unity,Debug,赋值,Log
From: https://www.cnblogs.com/zerobeyond/p/17380327.html

相关文章

  • Golang new 和 make 函数
    在Golang中new()函数是另外一种创建变量的方式,内建的new(T)函数为一个T类型的新项分配了"零"存储,并返回其地址,即*T类型的值。用Go的术语来说,它返回一个指向新分配的T类型的零值的指针。Golangnew()函数函数语法:funcnew(Type)*Typenew()返回的内存是清零的。ne......
  • LeetCode 周赛 344(2023/05/07)手写递归函数的固定套路
    本文已收录到AndroidFamily,技术和职场问题,请关注公众号[彭旭锐]提问。大家好,我是小彭。今天下午有力扣杯战队赛,不知道官方是不是故意调低早上周赛难度给选手们练练手。往期周赛回顾:LeetCode单周赛第343场·结合「下一个排列」的贪心构造问题周赛概览T1.找出不......
  • Json数据的序列化与反序列化的三种常用方法介绍
    以下内容是本作者从官网中看相应的教程后所做的demo,其体现了作者对相关知识点的个人理解。。作者才疏学浅,难免会有理解不到位的地方。。还请各位读者批判性对待。。。    本文主要介绍在Json数据的序列化与反序列化的过程中我经常用到的三种工具的基本使用方法,及其他们之间......
  • 2.ansible常用的模块01
    1.模块?模块实际上就是脚本,是ansible调用的对象,主要是用来通过调用它去远程执行某些命令功能。2.常用的模块2.1shell模块ansible默认的模块是command,其中shell模块与command模块区别:1.command模块的命令不启动shell,直接通过ssh执行命令......
  • Docker CLI docker compose push常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......
  • 函数递归
    函数递归调用介绍函数不仅可以嵌套定义,还可以嵌套调用,即在调用一个函数的过程中,函数内部又调用另一个函数,而函数的递归调用指的是在调用一个函数的过程中又直接或间接地调用该函数本身例如在调用f1的过程中,又调用f1,这就是直接调用函数f1本身deff1():print('fromf1')......
  • 函数基本使用
    引入基于前一部分的学习,我们已经能开发一些功能简单的小程序了,但随着程序功能的增多,代码量随之增大,此时仍不加区分地把所有功能的实现代码放到一起,将会使得程序的组织结构不清晰,可读性变差,且程序中需要频繁使用同一功能时,只能重复编写该功能的实现代码,日积月累,程序将变得冗长,并且......
  • 函数模板和类模板2
    一.问题描述:复数类Complex有两个数据成员:a和b,分别代表复数的实部和虚部,并有若干构造函数和一个重载-(减号,用于计算两个复数的距离)的成员函数。要求设计一个函数模板template<classT>doubledist(Ta,Tb)对int,float,Complex或者其他类型的数据,返回两个数据的间距。以上......
  • 函数的参数
    形参与实参介绍函数的参数分为形式参数和实际参数,简称形参和实参:形参即在定义函数时,括号内声明的参数。形参本质就是一个变量名,用来接收外部传来的值。实参即在调用函数时,括号内传入的值,值可以是常量、变量、表达式或三者的组合:#1:实参是常量res=my_min(1,2)#2:实参是变量......
  • Mybatis-Plus常用注解
    @TableName@TableName设置实体类对应表名。在使用MyBatis-Plus实现基本的CRUD时,我们并没有指定要操作的表,只是在Mapper接口继承BaseMapper时,设置了泛型User,而操作的表为user表。MyBatis-Plus在确定操作的表时,由BaseMapper的泛型决定,即实体类型决定,且默认操作的表名和实体类型......