IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> Unity脚本开发(回调函数) -> 正文阅读

[游戏开发]Unity脚本开发(回调函数)

Unity脚本开发(回调函数)

回调函数

在Unity中一共提供了18个回调,但是在平时开发时基本上只要使用部分。

首先在我们创建Unity脚本时,在以前的版本还有其他像是C++的选项,但是在最近的开发中,基本上大部分的开发者都习惯于使用C#去开发所以Unity官方也就只留下了C#者一个选项。

在我们创建并进入时,可以发现与在VS中的C#脚本不同,在Unity中创建打开的脚本并没有main函数,取而代之的是两个函数,Start()和Update()。这两个我们第一次见到的函数便是回调函数,也是我们最常用的回调函数。

那我们现在开始讲解回调函数

在这里插入图片描述

游戏开始时调用。

在我们第一次见到的函数中有Start()函数,而这个函数就是在游戏开始时调用一次,就像是初始化一样,在这之后都不会再次调用,除非是重新再次打开游戏。

当然在此之中也有其他在游戏开始时调用的函数,Awake()也是相同作用,在游戏开始时调用一次,但是与Start()函数不同的是,Start()函数会在Awake()函数调用之后再次调用。而Awake()是在游戏启动时最先运行的回调函数。

还有与这些类似的函数,像是OnEnable(),OnEnable()的作用是在在脚本组件被设置成可用时,调用一次,而在游戏开始时都会调用脚本,所以说在游戏开始时都会进行调用。当然关于Awake(),OnEnable(),Start()的调用顺序即是Awake(),OnEnable(),Start()。但是Awake()和Start()函数在游戏中都只会使用一次,OnEnable()可以在其他的指令下进行多次调用。

持续调用。

我们经常会听到FPS这一概念,即是每一秒的帧数,我们的游戏也是以一秒播放多个画面来进行对视觉的欺骗,使我们认为当前使一个流畅的画面。

在Unity中会有在每一帧都调用的函数,即是Update(),和LateUpdate(),在名字上就可以听出这两个函数的区别,虽然同为每帧调用一次,但是LateUpdate()会比Update()推迟调用。在我们像是移动的这一方面,我们就需要每一帧都调用一次,在每一帧都得到物体的位置,并且跟新下一帧的位置。LateUpdate()我们可以使用到第三人称的摄像机上,在获取了位置后,对摄像机的位置进行即时的调整。

与之类似的,当我们的电脑有硬件上的差异,所以可能会导致每个电脑的帧数都不尽相同,所以Unity提供了以时间为间隔的回调函数FixedUpdate(),FixedUpdate()函数与其他函数最大的特色就是以时间为间隔调用,而不是以帧的时间。所以我们可以自由的设置其调用的频率,当然Unity会有一个默认的时间间隔,即为0.02s

最后一个类似的是,OnGUI(),这个函数会在一帧内调用两次。

收尾工作。

在我们的游戏中常常会有不需要的物体,像是在被击败以后的小兵,这时候就需要有函数调用来解决后事,像是使小兵的模型消失等。

在Unity中OnDisable()和OnDestory()就是做这种收尾的工作的。

在物体的脚本组件被禁用或设置成不可用时,会调用一次OnDisable(),就如OnEnable()一样,可以靠多次禁用来多次触发。

而在物体组件被销毁时或者是整个游戏对象被销毁时,会调用一次OnDestory(),当然了,在物体组件被销毁时也会同时调用一次OnDisable(),因为他也被设置成了不可用。

  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2021-11-22 12:40:53  更:2021-11-22 12:41:03 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 23:30:00-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码