👨💻个人主页:@元宇宙-秩沅
hallo 欢迎 点赞👍 收藏⭐ 留言📝 加关注✅!
本文由 秩沅 原创
收录于专栏:unity细节和bug
⭐怎么将unity编译时和运行时的功能隔开的问题⭐
文章目录
- ⭐怎么将unity编译时和运行时的功能隔开的问题⭐
- 🎶描述
- 🎶解决
- 👍每天一学
- ⭐相关文章⭐
🎶描述
-
当编译下执行的代码功能和运行行时执行的代码功能同时存在时,要注意防止性能的消耗,防止编译时的功能在运行时也执行
-
图片解释:此时获取子物体的API因为特性的原因,在编译时也允许执行,但是在运行时,本该在编译时的代码会消耗性能
🎶解决
- 用Application.isPaly -----是否是运行时
- 隔开
private void OnGUI()
{
foreach (ControlFather item in allContorls)
{
//1.表示没有运行时(编译时)也来获取,Start是点击运行时可以获取
//2.避免了运行时重复执行该API。消耗性能
if( !Application.isPlayer)
{
allContorls = this.GetComponentsInChildren<ControlFather>();
}
item.Judge();
}
}
解决了点个赞,关注下吧✅
👍每天一学
👨💻十大常见的生命函数
👨💻Reset()://重置函数,
调用情况和时间:
编译器不运行的情况下 和 使用脚本组件Reset功能的时候, 挂脚本的时候
调用次数: 1次
👨💻 Awake(); //苏醒函数
调用情况和时间:
1.点击运行的时候
2.组件从失灵到激活的时候,但只调用一次
3.Instantiate方法调用的时候
调用次数: 1次
👨💻OnEnable(); //组件调用函数
调用情况和时间: 组件从失灵到激活的时候,可多次实现
调用次数:只要组件有失灵到激活的状态就可调用 ,
👨💻Strat():
调用情况和时间: 当游戏物体被激活,或者脚本组件被激活时调用 , (点击运行的时候也是会被激活)
调用次数: 1次
👨💻FixedUpdate(每帧)
一般用作物理更新
调用情况和时间: FixedUpdate一般适用在相关物理引擎中。它的频 率是0.02秒,是固定的。
调用次数: 大概每秒50次左右、
FixedUpdate & Update & LateUpdate的 区别详解
👨💻UpData(每帧) ;
一般用作游戏逻辑更新 update取决于电脑显卡的性能,好的话,快,不行的话就慢,所以相比Fixed Update它具有随机性。
调用情况和时间: 在以上生命周期函数之后,每帧调用一次
调用次数: 大概每秒60次左右
变量赋值生效顺序:
变量声明直接赋值 > 检视面板赋值 > Awake > Enable > 外部赋值 > Start
👨💻LateUpate(每帧):
一般用作相机更新 它的执行顺序在update的后面,一般适用于相机的跟随,物体运动在update中,相机跟随在LateUpdate,这样会减少误差,避免出现不必要的瑕疵。
调用情况和时间: 在Update调用之后,并且也是每秒60帧左右(适用于物体移动后的视角跟随)
调用次数: 大概每秒60次左右
👨💻OnGUI(每帧)
- 它一般与界面化,渲染,UI等有关,实时执行,比如想在幕布上弄个按钮button
👨💻OnDisable():
调用情况和时间: 和OnEnable差不多,但是Disable是组件从完好到失活的状态, (相当于关闭组件的时候)
调用次数: 组件从激活到失灵的时候调用(二者前提是在游戏运行的时候)
👨💻OnApplicationQuit()
调用情况和时间: 当所有游戏物体退出时调用,适用于打包的时候
调用次数: 满足以上情况便调用
👨💻OnDestroy();
调用情况和时间: 适用于物体的销毁,删除,以及游戏的停止退出时
调用次数: 满足以上情况便调用
⭐相关文章⭐
⭐【2023unity游戏制作-mango的冒险】-开始画面API制作
⭐【unity游戏制作-mango的冒险】-场景搭建
⭐“狂飙”游戏制作—游戏分类图鉴(网易游学)
⭐本站最全-unity常用API大全(万字详解),不信你不收藏
你们的点赞👍 收藏⭐ 留言📝 关注✅是我持续创作,输出优质内容的最大动力!