【Unity入门】12.MonoBehaviour事件函数
【Unity入门】MonoBehaviour事件函数
大家好,我是Lampard~~
欢迎来到Unity入门系列博客,所学知识来自B站阿发老师~感谢
(一)常用的事件函数
(1)start和update方法
之前我们写的脚本,会默认帮助我们继承于MonoBehaviour类,MonoBehaviour是unity的一个基类,类似于cocos的object
MonoBehaviour是Unity引擎中的一个基类,用于编写游戏对象的脚本,开发者可以通过继承MonoBehaviour类并实现其中的方法来实现游戏对象的交互行为和游戏机制
默认创建的C#脚本会自带两个方法,分别是start和update。我们通知之前的使用知道,start是脚本初始化时候会被调用一次,update会每帧进行调用,而游戏的帧率我们可以通过Application.targetFrameRate来进行设置
这两个方法我们很熟悉,下面会介绍其他三种常见的事件函数
(2)awake方法
Awake方法是MonoBehaviour类中的一个回调方法,在游戏对象被创建时调用,用于初始化游戏对象的属性和状态,在Start方法之前执行
Awake方法的作用一般是进行游戏对象的初始设置,例如获取其他组件的引用、初始化变量、设置默认参数等。在Awake方法中进行这些初始化设置可以保证在Start方法之前完成,从而避免在Start方法中出现未初始化的情况
从上文得知,Awake和Start类似都是会执行一次进行初始化使用。它们的区别在于,Awake在Start之前调用,且哪怕物体是禁用状态,Awake也会执行
比如小车物体挂载了FirstLogic脚本,我们现在把代码设置禁用状态,设置如下代码
void Awake(){Debug.Log("正在执行Awake方法");}void Start(){Debug.Log("正在执行Start方法");}
看看执行结果:
如果我们把代码的勾选项勾上呢,就会出现Awake先比sStart执行的结果
(3)onEnable方法和onDisable方法
onEnable和onDisable方法会分别在脚本启用和禁用的时候调用
需要注意的是,onEnable方法和onDisable方法在游戏对象的生命周期中可能会多次被调用,因此在实现时需要注意避免重复注册和清理等情况
举个栗子,我们加上以下代码:
private void Awake(){Debug.Log("正在执行Awake方法");}private void onEnable(){Debug.Log("正在执行onEnable方法");}private void onDisable(){Debug.Log("正在执行onDisable方法");}void Start(){Debug.Log("正在执行Start方法");}
看看结果,只要物体被调用/禁用的时候代码就会执行:
好啦今天就到这里,感谢阅读!!!
点赞,关注!!!
【Unity入门】12.MonoBehaviour事件函数相关推荐
- Unity基础开发之事件函数的执行顺序
Unity基础开发之事件函数的执行顺序 文章目录 前言 一.Initializtion阶段 Awake() OnEnable() 二.Editor阶段 Reset() OnValidate() 三.第 ...
- Unity学习之常用事件函数Update深度解析
提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一.常规更新函数 Update() FixedUpdate() LateUpdate() 总结 前言 Unity与常规 ...
- Unity 入门笔记 - 05 - 动画事件类音效对话框
Unity 入门笔记 - 05 - 动画事件&类&音效&对话框 前言:无 目录 Unity 入门笔记 - 05 - 动画事件&类&音效&对话框 一.动画 ...
- Execution Order of Event Functions, unity 3d 事件函数的执行顺序
vs_Community.exe --layout "F:\linson\vs2017 comm\offline" --lang zh-CN 学习unity3d,感觉事件顺序很重要 ...
- Unity事件函数OnMouseDown生效条件
前言 通常,挂载一个脚本到物品上,可以通过重载函数OnMouseDown的方式直接实现鼠标点击该物品的逻辑. 然而,OnMouseDown这个方法并不是任何一个物品,场景下都可以生效的万能方法,我们还 ...
- Unity+C#开发笔记(七)| unity中继承MonoBehaviour类的脚本里的函数怎么调用 | ╭(●`∀´●)╯╰(●’◡’●)╮
继上文,有个蠢货单例模式只是用来引用,突然遇到了一个继承了MonoBehaviour的类,然后unity跟你讲:不!你不可以在我这里这么用! 啊这--吓得我当场百度... ************** ...
- Unity入门 ---- unity2D基础知识
Unity入门 DAY 一: 向量Vector 向量夹角 物体的指向 屏幕坐标 DAY 二 鼠标事件处理 探测鼠标事件 鼠标跟随事件 鼠标拖拽 事件函数 Event Functions 脚本的执行顺序 ...
- Unity 入门笔记 - 07(完) - 菜单手机端静态类生成游戏
Unity 入门笔记 - 07(完) - 菜单&手机端&静态类&生成游戏 前言:入门笔记的最后一篇.这个系列教程看完了.接下来有空就看例子项目,动手做点东西. 目录 Unity ...
- 【Unity入门计划】制作RubyAdventure03-使用碰撞体触发器实现世界交互
目录 8 添加生命系统 演示效果 9 使用触发器实现吃血包 9.1 添加一个可以被吃掉的血包 10 使用触发器添加伤害区域 10.1 设置伤害区域 10.2 设置无敌时间 关于无敌时间的讨论 10.3 ...
最新文章
- QCustomPlot的简单用法总结
- python爬虫学习(三):使用re库爬取淘宝商品,并把结果写进txt文件
- Java设计模式——桥模式
- RabbitMQ消息队列(十三)-VirtualHost与权限管理
- NIUDAY 11.23 北京站抢票啦 | 看 AI 落地行业 享 AI 时代红利
- linux进程cpu时间片,能讲一下在Linux系统中时间片是怎么分配的还有优先级的具体算法是...
- 运维老鸟教你安装centos6.5如何选择安装包
- windows环境下zookeeper做成服务并启动
- 人工智能(第一章 绪论)
- 中国移动MM如何解决盗版问题
- celery报错 NotImplementedError: No result backend is configured
- CentOS6.5服务器端口捆绑
- 数据增强-亮度-对比度-色彩饱和度-色调-锐度 不改变图像大小 --增加ssd目标框xml文件的同步处理方法。
- Jetson TX2 apt换源
- npm 安装依赖报错解决方法总结
- mysql引擎与优化
- MSF Risk Management Discipline
- spark-submit 提交任务及参数说明
- 从NMS谈起——实时ANMS
- H.264视频编解码的FPGA源码分析(一)输入数据分析
热门文章
- 贴片加工钢网的使用方法
- 深度残差网络+自适应参数化ReLU激活函数(调参记录8)
- Appium 启动 App Code: ‘255‘ 错误
- MAC太凶狠,回忆过美丽 ——《硅谷革命》 读后感
- IDEA出现乱码的各种解决方法
- OpenCV实践小项目(三) - 停车场车位实时检测
- Java 字符流转字节流
- 王者荣耀s15服务器维护,王者荣耀S15战令系统最新调整 经验等级重置 限定皮加入宝箱抽取...
- 阿凡达云计算机,云计算中心:在云端我们也能做《阿凡达》
- PHP 函数 数组引用传参数