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 }