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

Unity脚本练习

  1. 在C# 中 class 是创建类的标志,要创建类的话得现有class

  1. 上面这个的逻辑是 类的访问权限, 关键字,类名以及类继承的父类

  1. 在Unity中创建一个脚本或者添加一个组件,就相当于在Unity命名空间中创建了一个可以访问的类。这些类能够直接在其它类中被使用

在上面这张图中的两个类都是我们自己创建的脚本(脚本其实就是一个类,当我们将脚本挂载到游戏对象上时,就相当于实例化了一个脚本类的对象)

  1. 首先有一个大的Unity命名空间,Unity中本身就有的类(包括组件等等),我们创建的脚本都在这一个命名空间中,所以我们可以在一个类中实例化另一个类的对象(比如在一个脚本类中实例化另一个脚本类的对象),以及调用另一个类的类方法(静态方法)

  1. 每一个游戏对象其实就相当于一个实例化对象的集合,一开始的游戏对象是空的,里面什么实例化对象都没有,随着我们挂载组件,脚本(实例化组件,脚本对象),游戏对象中就开始被实例化对象填充

1.第一个方法---

Object.FindObjectsOfType<Enemy>()
  1. object类是Unity中所有类的父类,所以我们能够直接在脚本类中调用object类中的方法

  1. 这个方法的返回类型是一个数组,数组中的元素的类型由我们填在尖框中的类型来确定,而尖框中的类型决定了我们要查找的对象的类型

  1. 查找的逻辑是遍历每一个游戏对象(对象集群)中具有的每一个对象,将与和尖框中类型相同的对象以引用的形式存到数组之中

 min.GetComponent<MeshRenderer>().material.color = Color.blue;

第二个方法:

  1. 当我们找到了一个游戏对象(对象集群)中的任何一个对象的引用时,我们就可以通过这个引用找到该游戏对象(对象集群中的其它对象),使用的方法是GetComponent ,尖框中的类型决定了我们要查找的对象的类型

  1. 每一个脚本,组件类由于都继承了具有GetComponent方法的父类,所以它们都能够使用这个方法

  1. 这个方法的查找逻辑是 -- 在调用这个方法的对象所在的对象集群(游戏对象)中逐个查找,并将与要查找的对象类型相同的对象的引用返回(只返回一个对象)


静态变量与动态变量

  1. 静态变量是被 static 关键字修饰的变量

  1. 静态变量分为局部静态变量和全局静态变量

  1. 静态变量在程序加载时就会被分配内存空间,程序结束时才被销毁

  1. 局部变量(动态变量)则是在使用到它时才分配内存空间,使用完后立即被销毁,最典型的例子就是函数(方法中的变量)


静态方法(类方法)与非静态方法(实例方法)

  1. 静态方法是指被 static 关键字修饰的类中的方法

  1. 该方法属于类,能够直接通过类名调用,无需在实例化对象之后再通过对象调用(实例方法需要这么做)

  1. 静态方法和静态变量,属性都会在程序加载时被分配好内存空间,在程序结束时被销毁,而非静态方法和动态变量则只有在用到时才会被分配内存空间,且在用完后就会被销毁


  1. 如果引用创建后没有指向实例化的对象的话,则默认指向 null(空)

  1. Transform类自带的非静态方法 Find --- 能够根据给定的子物体的名称来查找子物体(名称为参数)

但是这种查找是有限制的,它只能够在父物体的下一层子物体中查找,而不能够深入到子物体的子物体(第二层)中进行查找,第三层,第四层等等同理

  1. Getchild方法可以根据索引来找到并返回父物体对应索引的子物体

  1. 父物体的子物体的索引排列方式是 --- 自上而下,从0开始递增排列(递增量为1)

  1. 如果想要在脚本中获取当前脚本实例对象所在的对象集群(游戏对象)中的某个组件实例化对象(即指向Unity自带的组件)的引用的话(以Transform组件为例),则可以通过下面这行代码实现:

this.transform(此时这个就是游戏对象(对象集群)中,Transform类的实例化对象(即挂载的Transform组件)的引用)

其它组件同理(注意只有Unity自带的组件才能这么找到)


c#如何输入输出文本

  1. 主要是 console.writeline 及一些其它方法

unity如何在控制台中输出文本

1.主要用的方法是 Debug.Log()


  1. 当两个方法在同一个类中时,如果两个方法都是静态方法(类方法),或者都是非静态方法的话,则在两个方法中能够互相调用对方

  1. 如果两个方法中有一个方法是静态方法,另一个是非静态方法的话,则非静态方法中能够调用静态方法,静态方法中不能够调用非静态方法。


  1. C#中创建数组的方法 --- 元素类型[ ] 数组名 --- 此处创建的是一个数组的引用,我们还需要实例化数组之后令这个引用有所指。

  1. 实例化代码 --- new 元素类型[元素个数]

相关文章:

Unity脚本练习

在C# 中 class 是创建类的标志&#xff0c;要创建类的话得现有class上面这个的逻辑是 类的访问权限&#xff0c; 关键字&#xff0c;类名以及类继承的父类在Unity中创建一个脚本或者添加一个组件&#xff0c;就相当于在Unity命名空间中创建了一个可以访问的类。这些类能够直接在…...

二十分钟带你了解JVM性能调优与实战进阶

ZGC 诞生原因 Java生态非常强大&#xff0c;但还不够&#xff0c;有些场景仍处于劣势&#xff0c;而ZGC的出现可以让Java语言抢占其他语言的某些特定领域市场。比如 谷歌主导的Android手机系统显示卡顿。证券交易市场&#xff0c;实时性要求非常高&#xff0c;目前主要是C主…...

对比应用层和内核层区别

一、所使用的空间不同&#xff1a; 应用层使用的空间是0-3G的用户空间。 内核层使用的是3-4G的内核空间。 二、打印信息所用函数不同&#xff1a; 应用层使用printf打印信息。 printf("打印信息\n"); 内核层使用printk打印信息。 …...

Hadoop服役新服务器

目录 0、准备一台新服务器 1、修改主机名 2、配置静态ip 3、配置xshell登录 4、关闭并禁用防火墙 5、分发hadoop和jdk文件 6、分发环境变量文件 7、source 环境变量 8、配置ssh 9、删除105节点的data、logs文件夹 10、单节点启动并关联到集群 11、验证新节点是否有效 0…...

YOLOv8详解 【网络结构+代码+实操】

文章目录YOLOv8 概述模型结构Loss 计算训练数据增强训练策略模型推理过程网络模型解析卷积神经单元&#xff08;model.py&#xff09;Yolov8实操快速入门环境配置数据集准备模型的训练/验证/预测/导出使用CLI使用python多任务支持检测实例分割分类配置设置操作类型训练预测验证…...

Visual Studio Code 1.76 发布

欢迎使用 Visual Studio Code 2023 年 2 月版&#xff0c;其中一些亮点包括&#xff1a; 配置文件 - 活动配置文件徽章&#xff0c;通过命令面板快速切换配置文件。辅助功能改进 - 新的音频提示&#xff0c;改进的终端屏幕阅读器模式。可移动的 Explorer 视图- 将资源管理器放…...

Vulnhub靶场----3、DC-3.2

文章目录一、环境搭建二、渗透流程三、思路总结一、环境搭建 靶场下载地址&#xff1a;https://download.vulnhub.com/dc/DC-3-2.zip kali&#xff1a;192.168.144.148 DC-3.2&#xff1a;192.168.144.151 更改驱动器连接设置&#xff1a; 二、渗透流程 1、信息收集nmap -T5 -…...

Windows电脑密码忘记解决方法

目录 背景 方法一 方法二 方法三 方法四 方法五 背景 个人电脑忘记了密码&#xff0c;无法登录用户界面。 方法一 1. 开机时常按 F11&#xff0c;如果是Win10一下系统&#xff0c;就常按 F8&#xff0c;知道出现一下图状 2. 选择疑难解答&#xff0c;再选择高级选项 3.…...

ChatGPT相关技术必读论文100篇(2.27日起,几乎每天更新)

按上篇文章《ChatGPT技术原理解析&#xff1a;从RL之PPO算法、RLHF到GPT-N、instructGPT》的最后所述 为了写本ChatGPT笔记&#xff0c;过去两个月翻了大量中英文资料/paper(中间一度花了大量时间去深入RL)&#xff0c;大部分时间读的更多是中文资料 2月最后几天读的更多是英文…...

【算法】算法题解---电话号码的字符组合

算法名称 电话号码的字符组合 算法描述 给定一个仅包含数字 2-9 的字符串&#xff0c;返回所有它能表示的字母组合。答案可以按 任意顺序 返回。 给出数字到字母的映射如下&#xff08;与电话按键相同&#xff09;。注意 1 不对应任何字母。 示例 1&#xff1a; 输入&…...

提高上限之数学学习——数制转换及MECE原则学习

文章目录数制转换不同数制表达数制转换的方法换基法(换向十进制)除余法(十进制向其他进制转换)按位拆分法和按位合并法判断一个整数a&#xff0c;是否是2的整数次幂MECE原则学习数制转换 不同数制表达 数制转换的方法 换基法(换向十进制) 定义&#xff1a;给出数制转换的定量…...

字符函数和字符串函数(下)——“C”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰的内容依旧是字符函数和字符串函数呀&#xff0c;这篇博客会讲一些内存相关的函数&#xff0c;下面&#xff0c;让我们进入字符函数和字符串函数的世界吧 字符串查找 strstr strtok 错误信息报告 strerror 字符操作 内存操作函…...

kafka docker 安装

先启动起 zookeeper &#xff08;1&#xff09;服务&#xff1a; 192.168.190.35docker run -d --name kafka1 \-p 9092:9092 \-e KAFKA_BROKER_ID0 \-e delete.topic.enabletrue \-e num.partitions1 \-e KAFKA_ZOOKEEPER_CONNECT192.168.192.35:2181 \-e KAFKA_ADVERTISED_LI…...

SpringBean管理

一.什么是SpringBean? 在Spring中将管理对象称为 Bean.Bean是由一个SpringIOC容器实例化,组装和管理的对象.也就是说,Bean并不是由我们程序员编写的,而是在程序运行过程中,由Spring通过反射机制生成的. SpringBean是Spring框架在运行时管理的对象,我们编写的大多数逻辑代码都…...

关于Vue3中reactive的意义

在学习Vue3的时候产生疑问&#xff1a; const addForm reactive({ // 这里面的reactive啥意思sysPre: null,diaPre: null,tem: null })查询解决 在Vue3中&#xff0c;响应式对象是指通过reactive函数转换而来的对象&#xff0c;它的属性可以被Vue自动监测&#xff0c;当属性…...

平衡三进制

平衡三进制 一、定义 平衡三进制&#xff0c;也称为对称三进制。这是一个不太标准的 计数体系。 正规的三进制的数字都是由 0,1,2 构成的&#xff0c;而平衡三进制的数字是由 -1,0,1 构成的。它的基数也是 3&#xff08;因为有三个可能的值&#xff09;。由于将 -1 写成数字…...

python爬取网站数据

开学前接了一个任务&#xff0c;内容是从网上爬取特定属性的数据。正好之前学了python&#xff0c;练练手。 编码问题 因为涉及到中文&#xff0c;所以必然地涉及到了编码的问题&#xff0c;这一次借这个机会算是彻底搞清楚了。 Unicode是一种编码方案&#xff0c;又称万国码…...

CSS的三大特性

&#x1f31f;所属专栏&#xff1a;前端只因变凤凰之路&#x1f414;作者简介&#xff1a;rchjr——五带信管菜只因一枚&#x1f62e;前言&#xff1a;该系列将持续更新前端的相关学习笔记&#xff0c;欢迎和我一样的小白订阅&#xff0c;一起学习共同进步~&#x1f449;文章简…...

Linux-scheduler之负载均衡(二)

四、调度域 SDTL结构 linux内核使用SDTL结构体来组织CPU的层次关系 struct sched_domain_topology_level {sched_domain_mask_f mask; //函数指针&#xff0c;用于指定某个SDTL的cpumask位图sched_domain_flags_f sd_flags; //函数指针&#xff0c;用于指定某个SD…...

VScode第三方插件打开sqlite数据库

文章目录前言对比1.文本文件、表格软件打开2.专业软件3.pythonVScode 第三方库打开数据库1. 下载第三方库插件2.打开sqlite新建查询3.输入查询内容前言 最近在做的东西涉及SQLite数据库&#xff08;一种常用在移动端的数据库类型&#xff0c;和mysql这些主流数据库也差不多&am…...

css实现圆环展示百分比,根据值动态展示所占比例

代码如下 <view class""><view class"circle-chart"><view v-if"!!num" class"pie-item" :style"{background: conic-gradient(var(--one-color) 0%,#E9E6F1 ${num}%),}"></view><view v-else …...

(十)学生端搭建

本次旨在将之前的已完成的部分功能进行拼装到学生端&#xff0c;同时完善学生端的构建。本次工作主要包括&#xff1a; 1.学生端整体界面布局 2.模拟考场与部分个人画像流程的串联 3.整体学生端逻辑 一、学生端 在主界面可以选择自己的用户角色 选择学生则进入学生登录界面…...

Qwen3-Embedding-0.6B深度解析:多语言语义检索的轻量级利器

第一章 引言&#xff1a;语义表示的新时代挑战与Qwen3的破局之路 1.1 文本嵌入的核心价值与技术演进 在人工智能领域&#xff0c;文本嵌入技术如同连接自然语言与机器理解的“神经突触”——它将人类语言转化为计算机可计算的语义向量&#xff0c;支撑着搜索引擎、推荐系统、…...

(转)什么是DockerCompose?它有什么作用?

一、什么是DockerCompose? DockerCompose可以基于Compose文件帮我们快速的部署分布式应用&#xff0c;而无需手动一个个创建和运行容器。 Compose文件是一个文本文件&#xff0c;通过指令定义集群中的每个容器如何运行。 DockerCompose就是把DockerFile转换成指令去运行。 …...

网络编程(UDP编程)

思维导图 UDP基础编程&#xff08;单播&#xff09; 1.流程图 服务器&#xff1a;短信的接收方 创建套接字 (socket)-----------------------------------------》有手机指定网络信息-----------------------------------------------》有号码绑定套接字 (bind)--------------…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

docker 部署发现spring.profiles.active 问题

报错&#xff1a; org.springframework.boot.context.config.InvalidConfigDataPropertyException: Property spring.profiles.active imported from location class path resource [application-test.yml] is invalid in a profile specific resource [origin: class path re…...

sipsak:SIP瑞士军刀!全参数详细教程!Kali Linux教程!

简介 sipsak 是一个面向会话初始协议 (SIP) 应用程序开发人员和管理员的小型命令行工具。它可以用于对 SIP 应用程序和设备进行一些简单的测试。 sipsak 是一款 SIP 压力和诊断实用程序。它通过 sip-uri 向服务器发送 SIP 请求&#xff0c;并检查收到的响应。它以以下模式之一…...

佰力博科技与您探讨热释电测量的几种方法

热释电的测量主要涉及热释电系数的测定&#xff0c;这是表征热释电材料性能的重要参数。热释电系数的测量方法主要包括静态法、动态法和积分电荷法。其中&#xff0c;积分电荷法最为常用&#xff0c;其原理是通过测量在电容器上积累的热释电电荷&#xff0c;从而确定热释电系数…...

【Go语言基础【13】】函数、闭包、方法

文章目录 零、概述一、函数基础1、函数基础概念2、参数传递机制3、返回值特性3.1. 多返回值3.2. 命名返回值3.3. 错误处理 二、函数类型与高阶函数1. 函数类型定义2. 高阶函数&#xff08;函数作为参数、返回值&#xff09; 三、匿名函数与闭包1. 匿名函数&#xff08;Lambda函…...