当前位置: 首页 > news >正文

Unity脚本基础规则

Unity脚本基础规则

如何在Unity中创建一个脚本文件?

Project窗口中的Assets目录下,选择合适的文件夹,右键,选择第一个Create,在新出现的一栏中选择C# Script,此时文件夹内会出现C#脚本图标,为其进行命名即可(注意:每个脚本的脚本名必须要和他的类名相同),等待引擎编译完成可以双击打开脚本:

image-20240914163429729

image-20240914163633296

脚本创建规则

  1. 尽可能不在脚本编辑器中创建脚本,如果创建需要返回引擎界面一次让Unity引擎将脚本进行编译后方可正常修改脚本内容,否则可能会引起大量警告、报错等。
  2. 脚本文件可以放在Assets文件夹下任何位置,但建议存放于同一文件夹(如Scripts)。
  3. 脚本的类名和脚本名必须一致,修改类名或脚本名必须要手动修改另一个(因为Unity基于反射获取脚本信息,脚本文件名与类名不同将无法正确获取到对应类)。
  4. 建议不使用中文命名(会降低脚本文件美观性与可读性、不同编码计算机打开可能会出现乱码、在部分情况下中文命名会导致出现文件读取等方面的错误)。
  5. 无特殊需求的情况下,不需要单独设置命名空间。
  6. 创建的脚本会默认继承于MonoBehavior,有需要可以手动删除继承(没有继承该基类将无法挂载到场景对象上)。

MonoBehavior基类是什么?

重要的类 - MonoBehaviour Unity3D官方文档

MonoBehaviour - Unity文档

MonoBehavior是官方提供的一个脚本框架,提供了游戏运行时的各种事件等,每一个新建的脚本都会显式继承该类型,并且只有继承了该类型的脚本才可以附加到游戏对象中。

image-20241119123956980

继承了MonoBehavior的类将不能通过new关键字进行实例化,只能通过挂载到游戏对象来获取到对应的类对象(因此脚本中的构造函数将不会有任何意义)。

继承已经继承了MonoBehavior的类时,同样也可以直接挂载到场景当中。

同一个脚本可以多次挂载,如果需要只能单次挂载的功能,需要在类定义前添加DisallowMultipleComponent属性。

image-20241119134805296

不继承MonoBehavior脚本使用方法

不继承MonoBehavior的脚本无法挂载到场景中,但是他可以按照正常的类进行使用,通常会将数据类、工具单例类等等设置为不继承。

自定义脚本的执行顺序

我们可以通过点击脚本文件后在Inspector中点击Execution Order...打开自定义脚本运行设置面板:

image-20241119144548270

也可以直接在Edit->Project Settings->Script Execution Order中进行设置,其中Default Time是所有未自定义顺序的脚本执行的时间。

image-20241119145040405

脚本默认模板

在Unity中新建的脚本都会有一个如下的默认脚本结构,他的默认模板存储于Editor\Data\Resources\ScriptTemplates中,如果有需要可以按照需求进行更改。

image-20240914160003314

相关文章:

Unity脚本基础规则

Unity脚本基础规则 如何在Unity中创建一个脚本文件? 在Project窗口中的Assets目录下,选择合适的文件夹,右键,选择第一个Create,在新出现的一栏中选择C# Script,此时文件夹内会出现C#脚本图标,…...

基于AIRTEST和Jmeter、Postman的自动化测试框架

基于目前项目和团队技术升级,采用了UI自动化和接口自动化联动数据,进行相关测试活动,获得更好的测试质量和测试结果。...

使用 Azure OpenAI 服务对数据进行联合 SharePoint 搜索

作者:来自 Elastic Gustavo Llermaly 使用 Azure OpenAI 服务处理你的数据,并使用 Elastic 作为向量数据库。 在本文中,我们将探索 Azure OpenAI 服务 “On Your Data”,使用 Elasticsearch 作为数据源。我们将使用 Elastic Shar…...

JavaScript学习笔记 1】初识JS

目录 一、JS是什么? 二、JS的作用? 三、JS的组成 四、JS的书写位置 1. 内部JS 2. 外部JS(外部导入) 3. 内联JS 4. 练习 五、JS的注释与结束符 1. 注释 2. 结束符 3. JS该不该加分号? 六、JS的输入和输出语法 1. 输出语法 a. 输出在页面中 b. …...

Linux-Samba

文章目录 Samba配置服务配置 🏡作者主页:点击! 🤖Linux专栏:点击! ⏰️创作时间:2024年11月18日13点20分 Samba配置 Samba是一个能让 Linux 系统应用与 Microsoft 网络通讯协议的软件&#x…...

【Java Web】JSON 以及 JSON 转换

JSON(JavaScript Object Notation)一种灵活、高效、轻量级的数据交换格式,广泛应用于各种数据交换和存储场景。 基本特点 1、简单易用:JSON格式非常简单,易于理解和使用。 2、轻量级:相比XML等其他数据格…...

Qt 元对象系统

Qt 元对象系统 Qt 元对象系统1. 元对象的概念2. 元对象系统的核心组件2.1 QObject2.2 Q_OBJECT 宏2.3 Meta-Object Compiler (MOC) 3. 信号与槽3.1 基本概念信号与槽的本质信号和槽的关键特征 3.2 绑定信号与槽参数解析断开连接 3.3 标准信号与槽查找标准信号与槽使用示例规则与…...

鸿蒙实战:使用隐式Want启动Ability

文章目录 1. 实战概述2. 实现步骤2.1 创建鸿蒙应用项目2.2 修改Index.ets代码2.3 创建LuzhouAbility2.4 创建Luzhou页面2.5 设置模块配置文件 3. 测试效果4. 实战总结 1. 实战概述 本次鸿蒙应用实战,先创建项目“ImplicitWantStartAbility”,接着修改In…...

go-zero(二) api语法和goctl应用

go-zero api语法和goctl应用 在实际开发中,我们更倾向于使用 goctl 来快速生成代码。 goctl 可以根据 api快速生成代码模板,包括模型、逻辑、处理器、路由等,大幅提高开发效率。 一、构建api demo 现在我们通过 goctl 创建一个最小化的 HT…...

java 操作Mongodb

CRUD基础操作 Springboot 操作 MongoDB 有两种方式。 第一种方式是采用 Springboot 官方推荐的 JPA 方式,这种操作方式,使用简单但是灵活性比较差。第二种方式是采用 Spring Data MongoDB 封装的 MongoDB 官方 Java 驱动 MongoTemplate 对 MongoDB 进行…...

以Java为例,实现一个简单的命令行图书管理系统,包括添加图书、删除图书、查找图书等功能。

江河湖海中的代码之旅:打造你的命令行图书管理系统 一、系统简介 1. Java简介 Java,这个编程语言界的“瑞士军刀”,自1995年诞生以来就以其跨平台的特性和强大的生态系统征服了无数开发者的心。想象一下,Java就像是一条蜿蜒曲折…...

[JavaWeb]微头条项目

完整笔记和项目代码: https://pan.baidu.com/s/1PZBO0mfpwDPic4Ezsk8orA?pwdwwp5 提取码: wwp5 JavaWeb-微头条项目开发 1 项目简介 1.1 业务介绍 微头条新闻发布和浏览平台,主要包含业务如下 用户功能 注册功能登录功能 头条新闻 新闻的分页浏览通过标题关键字搜…...

Linux(CentOS)安装达梦数据库 dm8

CentOS版本:CentOS 7,查看操作系统版本信息,请查阅 查看Linux内核版本信息 达梦数据库版本:dm8 一、获取 dm8 安装文件 1、下载安装文件 打开达梦官网:https://www.dameng.com/ 下载的文件 解压后的文件 2、上传安…...

【专题】中国企业出海洞察报告暨解码全球制胜之道报告汇总PDF洞察(附原数据表)

原文链接:https://tecdat.cn/?p38314 在当今全球化的浪潮中,中国企业的出海行动正以前所未有的规模和速度展开,成为全球经济舞台上的重要力量。本报告旨在对 2024 年中国企业出海情况进行深度洞察,涵盖多个领域和视角。 从对外投…...

[ 跨域问题 ] 前后端以及服务端 解决跨域的各种方法

这篇文章主要介绍了跨域问题,包括其定义、产生原因及各种解决方法。原因是浏览器安全策略限制,方法有 JSONP、CORS、Domain、 postMessage、Nginx配置、.NetCore配置。 前言 什么是跨域问题? 在Web应用中,当一个网页的脚本试图去请求另一个域…...

网络安全之信息收集-实战-2

请注意,本文仅供合法和授权的渗透测试使用,任何未经授权的活动都是违法的。 目录 7、网络空间引擎搜索 8、github源码泄露 9、端口信息 10、框架指纹识别 11、WAF识别 12、后台查找 7、网络空间引擎搜索 FOFA:https://fofa.info/ 360 …...

利用飞书多维表格自动发布版本

文章目录 背景尝试1,轮询尝试2,长连接 背景 博主所在的部门比较奇特,每个车型每周都需要发版,所以实际上一周会发布好几个版本。经过之前使用流水线自动发版改造之后,发版的成本已经大大降低了,具体参考&a…...

深入内核讲明白Android Binder【一】

深入内核讲明白Android Binder【一】 前言一、Android Binder应用编写概述二、基于C语言编写Android Binder跨进程通信Demo0. Demo简介1. 服务的管理者server_manager.c2. Binder服务端代码实现 test_service.c2.1 实现思路2.2 完整实现代码 3. Binder客户端代码实现 test_clie…...

Photoshop(PS)——人像磨皮

1.新建一个文件,背景为白色,将图片素材放入文件中 2.利用CtrlJ 复制两个图层出来,选择第一个拷贝图层,选择滤镜---杂色---蒙尘与划痕 3.调整一下数值,大概能够模糊痘印痘坑,点击确定。 4.然后选择拷贝2图层…...

如何用Excel批量提取文件夹内所有文件名?两种简单方法推荐

在日常办公中,我们有时需要将文件夹中的所有文件名整理在Excel表格中,方便管理和查阅。手动复制文件名既费时又易出错,因此本文将介绍两种利用Excel自动提取文件夹中所有文件名的方法,帮助你快速整理文件信息。 方法一&#xff1…...

网络六边形受到攻击

大家读完觉得有帮助记得关注和点赞!!! 抽象 现代智能交通系统 (ITS) 的一个关键要求是能够以安全、可靠和匿名的方式从互联车辆和移动设备收集地理参考数据。Nexagon 协议建立在 IETF 定位器/ID 分离协议 (…...

Vue记事本应用实现教程

文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...

8k长序列建模,蛋白质语言模型Prot42仅利用目标蛋白序列即可生成高亲和力结合剂

蛋白质结合剂(如抗体、抑制肽)在疾病诊断、成像分析及靶向药物递送等关键场景中发挥着不可替代的作用。传统上,高特异性蛋白质结合剂的开发高度依赖噬菌体展示、定向进化等实验技术,但这类方法普遍面临资源消耗巨大、研发周期冗长…...

在rocky linux 9.5上在线安装 docker

前面是指南,后面是日志 sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo sudo dnf install docker-ce docker-ce-cli containerd.io -y docker version sudo systemctl start docker sudo systemctl status docker …...

渲染学进阶内容——模型

最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...

高等数学(下)题型笔记(八)空间解析几何与向量代数

目录 0 前言 1 向量的点乘 1.1 基本公式 1.2 例题 2 向量的叉乘 2.1 基础知识 2.2 例题 3 空间平面方程 3.1 基础知识 3.2 例题 4 空间直线方程 4.1 基础知识 4.2 例题 5 旋转曲面及其方程 5.1 基础知识 5.2 例题 6 空间曲面的法线与切平面 6.1 基础知识 6.2…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法:原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件,如包含恶意代码、敏感数据或欺诈内容的文档,在企业协同办公环境中(如Teams、Google Workspace)尤为重要。结合大模型技术&…...

EtherNet/IP转DeviceNet协议网关详解

一,设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络,本网关连接到EtherNet/IP总线中做为从站使用,连接到DeviceNet总线中做为从站使用。 在自动…...

【论文阅读28】-CNN-BiLSTM-Attention-(2024)

本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...

Spring AI与Spring Modulith核心技术解析

Spring AI核心架构解析 Spring AI(https://spring.io/projects/spring-ai)作为Spring生态中的AI集成框架,其核心设计理念是通过模块化架构降低AI应用的开发复杂度。与Python生态中的LangChain/LlamaIndex等工具类似,但特别为多语…...