unity学习14:unity里的C#脚本的几个基本生命周期方法, 脚本次序order等

news/2025/1/8 17:46:12/

目录

1 初始的C# 脚本

1.1 初始的C# 脚本

1.2 创建时2个默认的方法

2 常用的几个生命周期方法

2.1 脚本的生命周期

 2.1.1 其中FixedUpdate 方法 的时间间隔,是在这设置的

2.2  c#的基本语法别搞混

2.2.1 基本的语法

2.2.2 内置的方法名,要求更严格

2.3  gameobject 挂上脚本

2.4 测试 Awake 和  OnEnable  和 Start方法

2.4 测试这几个全部方法

unity%20%E4%BD%BF%E7%94%A8%E8%BF%99%E4%BA%9B%E8%84%9A%E6%9C%AC%E7%9A%84%E9%80%BB%E8%BE%91-toc" style="margin-left:0px;">3 unity 使用这些脚本的逻辑

4 project setting / scripts order修改执行次序


1 初始的C# 脚本

1.1 初始的C# 脚本

下面这个C# 脚本是我刚刚unity里创建的test1.cs

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class test1 : MonoBehaviour

{

    // Start is called before the first frame update

    void Start()

    {

       

    }

    // Update is called once per frame

    void Update()

    {

       

    }

}

1.2 创建时2个默认的方法

  • 应该是因为最常用吧
  • void Start() {} 方法,   开始时执行,
  • void update() {} 方法,每帧执行1次

2 常用的几个生命周期方法

2.1 脚本的生命周期

  • Awake: 最早调用,只会执行1次
  • OnEnable:组件激活后使用,在awake后会执行1次,而且可能会反复执行多次
  • Start:在onEnable, 且一定在update 前执行1次
  • Update:每帧执行1次,理论上帧数越快执行的越快
  • LateUpdate:update后紧接着执行1次
  • FixedUpdate: 只和时间相关,固定间隔时间执行1次,与机器性能无关
  • OnDisable:组件不被激活时使用1次,而且可能会反复执行多次
  • Destory:组件被从gameobject上拿掉,销毁,之后调用1次

 2.1.1 其中FixedUpdate 方法 的时间间隔,是在这设置的

2.2  c#的基本语法别搞混

2.2.1 基本的语法

  • 每句话后面要加;
  • 严格的大小写,Awake 不能写成 awake,否则不生效
  • 比如debug.log("") 是错误的,应该是Debug.Log("")

2.2.2 内置的方法名,要求更严格

  • 因为这是系统的内置方法,方法名是内置好的,必须按系统的大小写。C#严格些

2.3  gameobject 挂上脚本

  • 在project里创建1个脚本
  • 然后挂到一个gameobject上才行

2.4 测试 Awake 和  OnEnable  和 Start方法

  • 勾选掉 会导致 OnEnable被反复执行
using System.Collections;using System.Collections.Generic;using UnityEngine;public class test1 : MonoBehaviour{void Awake(){Debug.Log("awake");}void OnEnable(){Debug.Log("onEnable");  }void Start(){Debug.Log("Start");  }}

2.4 测试这几个全部方法

  • 下面是全部的脚本
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class test1 : MonoBehaviour
{void Awake(){Debug.Log("awake");}void OnEnable(){Debug.Log("onEnable");  }// Start is called before the first frame updatevoid Start(){Debug.Log("Start");  }// Update is called once per framevoid Update(){Debug.Log("Update");   }void LateUpdate(){Debug.Log("LateUpdate");     }void FixedUpdate(){Debug.Log("FixedUpdate");     }void OnDisable(){Debug.Log("OnDisable"); }void Destory(){Debug.Log("Destory");  }}

反复勾选,脚本前面的勾,可以反复触发 OnEnabel 和 OnDisable

unity%20%E4%BD%BF%E7%94%A8%E8%BF%99%E4%BA%9B%E8%84%9A%E6%9C%AC%E7%9A%84%E9%80%BB%E8%BE%91">3 unity 使用这些脚本的逻辑

  • step1:  (按优先级 )先执行所有脚本的的awake 方法
  • step1:  (按优先级 )先执行所有脚本的的start方法
  • 。。。

4 project setting / scripts order修改执行次序

  • project setting / scripts order修改执行次序

  • 如果有多个脚本
  • 需要调整其执行次序
  • 这里点add,
  • 然后可以拖动其次序,或者修改值
  • 值越小越靠前


http://www.ppmy.cn/news/1561607.html

相关文章

今日头条ip属地根据什么显示?不准确怎么办

在今日头条这样的社交媒体平台上,用户的IP属地信息对于维护网络环境的健康与秩序至关重要。然而,不少用户发现自己的IP属地显示与实际位置不符,这引发了广泛的关注和讨论。本文将深入探讨今日头条IP属地的显示依据,并提供解决IP属…

Java后端常用的4种请求方式(通俗易懂)

文章目录 前言通用接口类(ControllerDemo)通用实体类(UserEntity)通用响应类(HttpClientResult)成功截图(先启动项目,然后右键执行main方法) HttpClientHttpClient 的主要类代码案例导入依赖工具类(HttpClientUtil)测试类 HttpURLConnection简介调用步骤代码案例导入依赖工具类…

Python多分类Logistic回归详解与实践

在机器学习中,Logistic回归是一种基本但非常有效的分类算法。它不仅可以用于二分类问题,还可以扩展应用于多分类问题。本文将详细介绍如何使用Python实现一个多分类的Logistic回归模型,并给出详细的代码示例。 一、Logistic回归简介 Logist…

亚矩阵云手机:跨境出海直播的全方位利器

在跨境出海直播领域,亚矩阵云手机扮演着举足轻重的角色,为跨境业务中面临的诸多挑战提供了行之有效的解决方案。以下将对其作用与解决方案展开详细阐述。 一、亚矩阵云手机在跨境出海直播中的关键作用 (一)突破地域限制&#xff0…

英伟达 RTX 5090 显卡赋能医疗大模型:变革、挑战与展望

一、英伟达 RTX 5090 与 RTX 4090 技术参数对比 1.1 核心架构与制程工艺 在探讨英伟达 RTX 4090 与 RTX 5090 的差异时,核心架构与制程工艺无疑是最为关键的基础要素,它们从根本上决定了两款显卡的性能上限与应用潜力。 1.1.1 核心架构差异 RTX 4090…

望获实时Linux系统与大语言模型深度融合,开创实时智能无限可能!

大语言模型的崛起为智能化应用开辟了新的可能性。借助深度学习技术,这些模型能够理解和生成自然语言,处理复杂的文本和语义信息。这使得它们在诸如人机问答、内容生成和数据分析等领域展现出巨大的潜力。在实时控制领域,大语言模型能够显著提…

conda快速安装并配置pycharm

1、镜像下载地址 https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/2、安装完成后配置环境变量 安装记得all users 配置环境 3、配置镜像 conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https…

大疆无人机炸机,视频文件打不开怎么办

3-9 现在无人机已经非常普及和大众化,可以说已经是个大人玩具。 但是有时候会出意外,比如出现炸机的情况,当出现炸机的时候,无人机拍摄的视频有可能会出现播放不了的现象,比如下面这个,拍摄的是一个乡村的…