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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/61352.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【新华妙笔-注册/登录安全分析报告-无验证方式导致安全隐患】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 1. 暴力破解密码,造成用户信息泄露 2. 短信盗刷的安全问题,影响业务及导致用户投诉 3. 带来经济损失,尤其是后付费客户,风险巨大,造…

Dart:字符串

字符串:单双引号 String c hello \c\; // hello c,单引号中使用单引号,需要转义\ String d "hello c"; // hello c,双引号中使用单引号,不需要转义 String e "hello \“c\”"; // hell…

使用vscode+expo+Android夜神模拟器运行react-native项目

1.进入夜神模拟器安装路径下的bin目录 2.输入命令,连接Android Studio 启动夜神模拟器后, 打开安装目录的bin文件夹执行下面的命令,只需执行一次) nox_adb.exe connect 127.0.0.1:62001adb connect 127.0.0.1:62001 3.运行项目…

从0安装mysql server

安装 MySQL Server 首先,你需要在 Ubuntu 上安装 MySQL 服务器。运行以下命令来安装:sudo apt update sudo apt install mysql-server安装完成后,MySQL 服务会自动启动。你可以通过以下命令检查 MySQL 服务是否正在运行: sudo systemctl status mysql如果 MySQL 正在运行,…

自动计算机视觉功能技术方向

近年来,随着自动计算机视觉功能的不断发展(如跟踪、目标/活动识别等)的技术方向,这些技术在无人机应用领域中的重要性也日益凸显。同时,得益于低成本商用无人机的日益普及,这些技术得到了快速的推广和应用。…

Linux进阶:软件安装、网络操作、端口、进程等

软件安装 yum 和 apt 均需要root权限 CentOS系统使用: yum [install remove search] [-y] 软件名称 install 安装remove 卸载search 搜索-y,自动确认 Ubuntu系统使用 apt [install remove search] [-y] 软件名称 install 安装remove 卸载search 搜索-y&…

C语言 蓝桥杯某例题解决方案(查找完数)

蓝桥杯原题: 一个数如果恰好等于它的因子之和,这个数就称为“完数”。例如6 1 2 3.编程找出1000以内的所有完数。 这个题没有很大的难点,与我们上一个解决的问题“质因数分解”不同,它不需要判断因数是否是质数,因此…

linux先创建文件夹后指定创建文件夹用户

1、创建文件夹,然后创建用户并指定用户目录,然后修改目录所有权给该目录 # 创建 /home/test 目录 mkdir /home/test # 设置权限(确保有适当的读写权限) chown root:root /home/test chmod 700 /home/test # 创建 xl 用户并指定家…

Gin 框架中的表单处理与数据绑定

Gin 框架中的表单处理与数据绑定 在Web应用开发中,表单是用户与服务器交互的重要手段。Gin框架作为一款高效、简洁的Go语言Web框架,为表单处理提供了便捷的支持,包括数据绑定、验证等功能。本文将详细介绍如何使用Gin框架处理表单数据&#…

记录下,用油猴Tampermonkey监听所有请求,绕过seesion

油猴Tampermonkey监听所有请求,绕过seesion 前因后果脚本编写 前因后果 原因是要白嫖一个网站的接口,这个接口的页面入口被隐藏掉了,不能通过页面调用,幸好之前有想过逆向破解通过账号密码模拟登录后拿到token,请求该…

【LINUX相关】

一、Linux怎么进行查看日志? 首先得问问开发项目日志存放在哪里,可以使用多种命令来查看日志。常用的命令包括tail、cat、less和grep等。例如:1、使用tail命令可以实时查看日志文件的最新内容:tail -f log_file, 2、使用cat命令可…

3. SQL优化

SQL性能优化 在日常开发中,MySQL性能优化是一项必不可少的技能。本文以具体案例为主线,结合实际问题,探讨如何优化插入、排序、分组、分页、计数和更新等操作,帮助你实现数据库性能的飞跃。 一、索引设计原则 索引是MySQL优化的…

《macOS 开发环境配置与应用开发》

一、引言 macOS 作为一款强大而流行的操作系统,为开发者提供了丰富的开发机会和优秀的开发环境。无论是开发原生的 macOS 应用,还是进行跨平台开发,了解和掌握 macOS 开发环境的配置以及应用开发的方法至关重要。本文将详细介绍 macOS 开发环…

LiveGBS流媒体平台GB/T28181常见问题-作为下级级联到海康大华宇视等第三方国标平台若需要提供国标编号、地址、端口号怎么办?

LiveGBS国标GB/T28181流媒体平台作为下级级联到海康大华宇视等第三方国标平台若需要提供国标编号、地址、端口号怎么办? 1、背景2、提供国标编号、地址、端口号3、搭建GB28181视频直播平台 1、背景 有篇博文曾经介绍过,LiveGBS国标视频平台支持GB/T2818…

springboot:责任链模式实现多级校验

责任链模式是将链中的每一个节点看作是一个对象,每个节点处理的请求不同,且内部自动维护一个下一节点对象。 当一个请求从链式的首段发出时,会沿着链的路径依此传递给每一个节点对象,直至有对象处理这个请求为止。 属于行为型模式…

【ArcGIS微课1000例】0132:从多个GIS视角认识与攀登珠穆朗玛峰

文章目录 1. Map Viewer中打开2. 场景查看器中打开3. ArcGIS中打开4. QGIS中打开5. Globalmapper中打开6. ArcGIS Earth中打开官网地址:https://www.arcgis.com/home/item.html?id=504a23373ab84536b7760c0add1e0c1c 1. Map Viewer中打开 以下展示不同底图样式的珠穆朗玛峰壮…

小程序租赁系统开发为企业提供高效便捷的租赁服务解决方案

内容概要 在这个数字化飞速发展的时代,小程序租赁系统应运而生,成为企业管理租赁业务的一种新选择。随着移动互联网的普及,越来越多的企业开始关注如何利用小程序来提高租赁服务的效率和便捷性。小程序不仅可以为用户提供一个快速、易用的平…

第二十章 Spring之假如让你来写AOP——Aspect(切面)篇

Spring源码阅读目录 第一部分——IOC篇 第一章 Spring之最熟悉的陌生人——IOC 第二章 Spring之假如让你来写IOC容器——加载资源篇 第三章 Spring之假如让你来写IOC容器——解析配置文件篇 第四章 Spring之假如让你来写IOC容器——XML配置文件篇 第五章 Spring之假如让你来写…

Matplotlib | 结合numpy中argsort函数来画出特征阶梯图

代码 #构建分类随机森林分类器 clfRandomForestClassifier(n_estimators10,random_state42,max_depth4) clf.fit(x_val, y_val) #对自变量和因变量进行拟合 for feature in zip(x_feature,clf.feature_importances_):print(feature)(V1, 0.0038989752714058486) (V2, 0.002703…

【GAT】 代码详解 (1) 运行方法【pytorch】可运行版本

GRAPH ATTENTION NETWORKS 代码详解 前言0.引言1. 环境配置2. 代码的运行2.1 报错处理2.2 运行结果展示 3.总结 前言 在前文中,我们已经深入探讨了图卷积神经网络和图注意力网络的理论基础。还没看的同学点这里补习下。接下来,将开启一个新的阶段&#…