字符串数组——传递文本的不同方法实例
一、实例化一个文本并在文本上直接显示接收的信息
1、制作一个预制体
(1) UI-Text (TMP),TitleText
(2) 给Text (TMP)添加Recipients.cs组件
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;public class Recipients : MonoBehaviour
{public TextMeshProUGUI TitleText;//在Unity赋值//接收文本数据public void initData(string titleText){//在TitleText.text文本中显示接收到的文本内容TitleText.text = titleText;}
}
(3) 将UI-Text (TMP)制成预制体,并从Hierarchy中删除该预制体
2、给Canvas添加Sender.cs组件
(1) Sender.cs
using System.Collections;
using System.Collections.Generic;
using UnityEditor.Experimental.GraphView;
using UnityEngine;public class Sender : MonoBehaviour
{public Recipients titleText;// Start is called before the first frame updatevoid Start(){CreateTitleText();}public void CreateTitleText(){Recipients t = Instantiate(titleText, this.transform);//调用Recipients.cs实例上的initData方法,并传递一个字符串参数t.initData("传递方直接传递文本"); }
}
(2) 赋值
二、用不同的方法传递文本
1、通过字符串:
(1) 声明一个字符串
string strs; //string:类型; strs:变量名
(2) 传递
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Sender : MonoBehaviour
{public Recipients titleText;//接收方的接收文本void Start(){string str = "直接传输";CreateTitleText(str);}public void CreateTitleText(string transmission)//transmission是自取的名字{Recipients t = titleText;t.initData(transmission); }
}
(3) 接收
using System.Collections;
using System.Collections.Generic;
using TMPro;
using UnityEngine;public class Recipients : MonoBehaviour
{public TextMeshProUGUI TitleText;//在Unity中赋值一个文本(用于接收文本信息)public void initData(string titleText)//接收的文本命名为titleText{TitleText.text = titleText;//在TitleText.text文本中显示接收到的文本内容}
}
注意:两个脚本中都要在Unity给文本赋值
2、声明一个字符串组
string[] strs = new string[3]; //声明一个字符串数组,且初始化它的长度为3
(1) string:类型; []:数组; strs:变量名
(2) 数组需要初始化之后 才能使用。
(3) 初始化的方法:类型+[] + 变量名 = new string[3];
(4) 调用字符串的数据的实例
发送方:
public Nodes node;void Start(){string[] strs = new string[3]; //声明一个包含三个字符串元素的数组//string:类型; []:数组; strs:变量名strs[0] = "strs这个数组中的第一个数据序号为0";//将数组的第一个元素(索引为0)设置为指定的字符串内容CreateNode(strs[0]);//调用方法,传递整个字符串数组}public void CreateNode(string strs){Nodes n = Instantiate(node, this.transform);//创建一个node预制体的实例,并将这个实例赋值给变量nthis.transform:新实例将作为当前对象(脚本所挂载的物体)的子对象//调用Nodes.cs实例上的initData方法,并传递一个字符串参数n.initData(strs); //n:node预制体实例;//n.initData();:调用预制体本身携带的公开的方法(在Nodes脚本中创建的方法)//括号内要写类型与接收方要求的相同的数据}
接收方:
public class Nodes : MonoBehaviourpublic TextMeshProUGUI nodeTitle;public void initData(string titleText)//初始化节点的数据(类型是String;名字是titleText)//把接收到的文本命名为titleText//初始化节点的数据,接收一个字符串类型的参数titleText作为标题文本{//使用接收到的文本titleText更新nodeTitle文本组件的内容nodeTitle.text = titleText;//将nodeTitle文本组件的内容设置为接收到的titleText(在nodeTitle.text文本中显示接收到的文本内容)}
(5) 优化后的方法
public GameObject nodePrefab; // 在Unity编辑器中设置的预制体// Start is called before the first frame updatevoid Start(){string[] strs = new string[3]; // 声明一个包含三个字符串元素的数组strs[0] = "strs这个数组中的第一个数据序号为0"; // 设置数组的第一个元素// ... 可以设置strs[1]和strs[2]CreateNode(strs); // 调用方法,传递整个字符串数组}
public void CreateNode(string[] strs) // 字符串数组{GameObject newNode = Instantiate(nodePrefab, this.transform); // 创建预制体的实例Nodes n = newNode.GetComponent<Nodes>(); // 获取Nodes组件if (n != null) // 检查是否成功获取到了组件{n.initData(strs); // initData方法接受一个字符串数组作为参数}else{Debug.LogError("No Nodes component found on the instantiated prefab!");}}
3、利用List传递文本
(1) 声明并 初始化变量
List<string> strs_02 = new List<string>();//声明并初始化一个名为strs_02,类型为List<string> 的变量
(2) 调用变量:
类型一:调用数组中的变量
strs_02.Add(strs[0]);
strs_02:变量名
Add:调用
(strs[0]):strs数组中的索引号为0的值
类型2:直接调用字符串
strs_02.Add("strs[0]");
strs_02:变量名
Add:调用
("strs[0]"):输出的是双引号内的文字
// 将strs数组的第一个元素添加到strs_02列表中strs_02.Add(strs[0]);//第一个Add,后面跟的就是strs_02中的序号为0的数据。在这里调用的是strs数组中序号为0的字符串// 添加字符串"strs[0]"到strs_02列表中,而不是数组strs的某个元素strs_02.Add("strs[0]");//注意:这里添加的是字面上的字符串"strs[0]",而不是strs数组中的某个值
(3) 实例:
繁琐但超小白注释:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Test : MonoBehaviour
{public Nodes node;// Start is called before the first frame updatevoid Start(){string[] strs = new string[3]; //声明一个字符串数组,并分配了3个元素的空间//string:类型; []:数组; strs:变量名//数组需要初始化之后 才能使用。初始化的方法:……= new string[3];//这一步已经完成了初始化//将数组的第一个元素(索引为0)设置为指定的字符串内容strs[0] = "strs这个数组中的第一个数据序号为0";//给数组的第一个位置(索引0)赋值strs[1] = "测试序号1";strs[2] = "测试序号2";// 声明并初始化一个空的List<string>类型的变量,名字为strs_02List<string> strs_02 = new List<string>();// 将strs数组的第一个元素添加到strs_02列表中strs_02.Add(strs[0]);//第一个Add,后面跟的就是strs_02中的序号为0的数据。在这里调用的是strs数组中序号为0的字符串// 添加字符串"strs[0]"到strs_02列表中,而不是数组strs的某个元素strs_02.Add("strs[0]");//注意:这里添加的是字面上的字符串"strs[0]",而不是strs数组中的某个值// 调用CreateNode方法,传递strs_02列表中的第一个元素作为参数CreateNode(strs_02[0]);//传递的是"strs这个数组中的第一个数据序号为0"这段文字// 调用CreateNode方法,传递strs_02列表中的第二个元素作为参数CreateNode(strs_02[1]);//传递的是strs_02中的序号为1的数据,即:"strs[0]"这段文字}public void CreateNode(string strs){Nodes n = Instantiate(node, this.transform);//创建一个node预制体的实例,并将这个实例赋值给变量n//node:要实例化的预制体;this.transform:新实例将作为当前对象(脚本所挂载的物体)的子对象//调用Nodes.cs实例上的initData方法,并传递一个字符串数组的参数n.initData(strs); //n:node预制体实例;//n.initData();:调用预制体本身携带的公开的方法(在Nodes脚本中创建的方法)//括号内要写类型与接收方要求的相同的数据}
}
普通小白注释
public Nodes nodePrefab;//Nodes.cs中的node预制体void Start(){string[] strs = new string[3]; // 声明并初始化字符串数组strs[0] = "strs这个数组中的第一个数据序号为0";//赋值strs[1] = "测试序号1";strs[2] = "测试序号2";List<string> strs_02 = new List<string>(); // 声明并初始化List<string>strs_02.Add(strs[0]); // 添加数组的第一个元素到列表strs_02.Add("strs[0]"); // 添加字符串"strs[0]"到列表// 调用CreateNode方法,传递strs_02列表中的元素作为参数CreateNode(strs_02[0]); // 传递列表中的第一个元素CreateNode(strs_02[1]); // 传递列表中的第二个元素}public void CreateNode(string data){Nodes n = Instantiate(nodePrefab, this.transform); // 实例化Nodes预制体n.initData(data); // 调用initData方法,传递数据给节点进行初始化}
直接上手试版本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class Test : MonoBehaviour
{public Nodes node;void Start(){string[] strs = new string[3]; strs[0] = "输出的是数组中的文字";strs[1] = "测试序号1";strs[2] = "测试序号2";List<string> strs_02 = new List<string>();strs_02.Add(strs[0]);strs_02.Add("输出的是Add.后面括号里面双引号里面的文字");CreateNode(strs_02[0]);CreateNode(strs_02[1]);}public void CreateNode(string data){Nodes n = Instantiate(node, this.transform);n.initData(data); }
}
4、利用Dictionary传递文本
Dictionary<int,string> strs3= new Dictionary<int,string>();//声明并初始化字典,名字是strs3
Dictionary
作用:加了索引的列表。给每个数据都取了个名字,方法查找、修改、调用数据
解释:
Dictionary:字典
<int,string>:int——键的类型(整数) string:值的类型——字符串
添加数据:
strs3.Add(1001, "文本内容");
调用
TransferTitleText(strs3[1001]);
相关文章:
字符串数组——传递文本的不同方法实例
一、实例化一个文本并在文本上直接显示接收的信息 1、制作一个预制体 (1) UI-Text (TMP),TitleText (2) 给Text (TMP)添加Recipients.cs组件 using System.Collections; using System.Collections.Generic; using TMPro; using UnityEngine;public class Recipi…...
JDBC简介
JDBC最基本的知识点要求理解并会使用下边的两个案例即可: 前言: Jdbc操作步骤简析: 1.Connection connDriverManager.getConnection(url,账号,密码):用DriverManager类的连接方法根据url账号密码连接数据库…...
RK3568平台(触摸篇)触摸屏基本原理
一.触摸屏概述 触摸屏作为一种新的输入设备,它是目前最简单、方便、自然的一种人机交互方式。 触摸屏又称为“触控屏”、“触控面板”,是一种可接收触头等输入讯号的感应式液晶显示装置;当接触了屏幕上的图形按钮时,屏幕上的触觉…...
【太原理工大学】软件系统安全—分析题
OK了,又是毫无准备的一场仗,我真是ありがとうございます 凸^o^凸 根据前几年传下来的信息,所谓“分析”,就是让你根据情节自行设计,例如如何设计表单等,这类多从实验中出,王老师强调好好做实验一…...
【仪器仪表/电源专题】浮地信号的测试的四种方案对比
接地信号和浮地信号区别 所有的电压测量都是差分测量,差分测量定义为两点之间的电压差。所以会分成两类: 1.参考地电平测量(有时也叫接地信号) 2.非参考地电平测量(也称为浮地测量) 测试信号可以分为接地信…...
Centos7安装jdk8或11以及切换方案
目录 jdk安装 安装OpenJDK11 安装OpenJDK8 配置默认的 Java 版本 验证 全局环境变量(选配) 个人版(自己可以用,公司不建议) 公司版本 /etc/profile 和 ~/.bash_profile 区别 前言-与正文无关 生活远不止眼前的苦…...
计算机二级Access选择题考点—代码篇
第1题 窗体的事件过程如下: Private Sub Form MouseDown(Button As Integer ,Shift As integer,X As Single,Y As Single)If Shift 6 And Button 2 Then MsgBox "Hello World."End lf End Sub程序运行后,要在窗体消息框中显示"Hello World."…...
海外仓系统如何让海外仓受益,WMS海外仓系统使用指南
随着跨境电商业务的快速发展,海外仓面临着需要更加高速运转的巨大挑战。 当海外仓出现因为手动作业导致效率低下,成本不断飙升或者出现库存管理问题的时候,意味着是时候引入一套合适的海外仓管理系统了。 对于寻求海外仓业务流程优化的企业…...
贪心-区间问题
135. 分发糖果 问题描述 n 个孩子站成一排。给你一个整数数组 ratings 表示每个孩子的评分。 你需要按照以下要求,给这些孩子分发糖果: 每个孩子至少分配到 1 个糖果。相邻两个孩子评分更高的孩子会获得更多的糖果。 请你给每个孩子分发糖果&#x…...
算法分析与设计期末考试复习GDPU
重点内容: 绪论: 简单的递推方程求解 1.19(1)(2) 、 教材例题 多个函数按照阶的大小排序 1.18 分治法: 分治法解决芯片测试问题 计算a^n的复杂度为logn的算法(快速幂) 分治法解决平面最近点对问…...
分批次训练和评估神经网络模型
【背景】 训练神经网络模型的时候,特征组合太多,电脑的资源会不足,所以采用分批逐步进行。已经处理过的批次保存下来,在下一次跳过,只做新加入的批次训练。 选择最优模型组合在中间结果的范围内选择,这样…...
【CS.AL】算法核心之分治算法:从入门到进阶
文章目录 1. 概述2. 适用场景3. 设计步骤4. 优缺点5. 典型应用6. 题目和代码示例6.1 简单题目:归并排序6.2 中等题目:最近点对问题6.3 困难题目:分数背包问题 7. 题目和思路表格8. 总结References 1000.01.CS.AL.1.4-核心-DivedeToConquerAlg…...
leetcode刷题记录:hot100强化训练2:二叉树+图论
二叉树 36. 二叉树的中序遍历 递归就不写了,写一下迭代法 class Solution(object):def inorderTraversal(self, root):""":type root: TreeNode:rtype: List[int]"""if not root:return res []cur rootstack []while cur or st…...
湘潭大学信息与网络安全复习笔记2(总览)
前面的实验和作业反正已经结束了,现在就是集中火力把剩下的内容复习一遍,这一篇博客的内容主要是参考教学大纲和教学日历 文章目录 教学日历教学大纲 教学日历 总共 12 次课,第一次课是概述,第二次和第三次课是密码学基础&#x…...
C语言:头歌使用函数找出数组中的最大值
任务描述 本关任务:本题要求实现一个找出整型数组中最大值的函数。 函数接口定义: int FindArrayMax( int a[], int n ); 其中a是用户传入的数组,n是数组a中元素的个数。函数返回数组a中的最大值。 主程序样例: #include <stdio.h>#…...
【技巧】Leetcode 191. 位1的个数【简单】
位1的个数 编写一个函数,输入是一个无符号整数(以二进制串的形式),返回其二进制表达式中 设置位 的个数(也被称为汉明重量)。 示例 1: 输入:n 11 输出:3 解释&#x…...
【Pandas驯化-02】pd.read_csv读取中文出现error解决方法
【Pandas】驯化-02pd.read_csv读取中文出现error解决方法 本次修炼方法请往下查看 🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地! 🎇 相关内容文档获取 微信公众号 &…...
linux下C语言如何操作文件(三)
我们继续介绍file_util.c中的函数: bool create_dir(const char* path):创建目录,根据给定的path创建目录,成功返回true,否则返回false。如果有父目录不存在,该函数不会创建。 /*** 创建目录* @param path 目录路径* @return true 创建成功,false 创建失败*/ bool cre…...
6.14作业
使用手动连接,将登录框中的取消按钮使用第二中连接方式,右击转到槽,在该槽函数中,调用关闭函数 将登录按钮使用qt4版本的连接到自定义的槽函数中,在槽函数中判断ui界面上输入的账号是否为"admin"࿰…...
MySQL数据库管理(一)
目录 1.MySQL数据库管理 1.1 常用的数据类型编辑 1.2 char和varchar区别 2. 增删改查命令操作 2.1 查看数据库结构 2.2 SQL语言 2.3 创建及删除数据库和表 2.4 管理表中的数据记录 2.5 修改表名和表结构 3.MySQL的6大约束属性 1.MySQL数据库管理 1.1 常用的数据类…...
Kafka使用教程和案例详解
Kafka 使用教程和案例详解 Kafka 使用教程和案例详解1. Kafka 基本概念1.1 Kafka 是什么?1.2 核心组件2. Kafka 安装与配置2.1 安装 Kafka使用包管理器(如 yum)安装使用 Docker 安装2.2 配置 Kafka2.3 启动 Kafka3. Kafka 使用教程3.1 创建主题3.2 生产消息3.3 消费消息3.4 …...
TGI模型- 同期群-评论文本
用户偏好分析 TGI 1.1 用户偏好分析介绍 要分析的目标,在目标群体中的均值 和 全部群体里的均值进行比较, 差的越多说明 目标群体偏好越明显 TGI(Target Group Index,目标群体指数)用于反映目标群体在特定研究范围内…...
ESP32 BLE学习(0) — 基础架构
前言 (1)学习本文之前,需要先了解一下蓝牙的基本概念:BLE学习笔记(0.0) —— 基础概念(0) (2) 学习一款芯片的蓝牙肯定需要先简单了解一下该芯片的体系结构&a…...
【JAVA】Java中Spring Boot如何设置全局的BusinessException
文章目录 前言一、函数解释二、代码实现三、总结 前言 在Java应用开发中,我们常常需要读取配置文件。Spring Boot提供了一种方便的方式来读取配置。在本文中,我们将探讨如何在Spring Boot中使用Value和ConfigurationProperties注解来读取配置。 一、函数…...
pdf.js实现web h5预览pdf文件(兼容低版本浏览器)
注意 使用的是pdf.js 版本为 v2.16.105。因为新版本 兼容性不太好,部分手机预览不了,所以采用v2版本。 相关依赖 "canvas": "^2.11.2", "pdfjs-dist": "^2.16.105", "core-js-pure": "^3.37.…...
SSID简介
一、 SSID 概念定义 SSID(Service Set Identifier)即服务集标识符。它是无线网络中的一个重要标识,用于区分不同的无线网络。 相当于无线网络的名称,用于区分不同的无线网络。用户在众多可用网络中识别和选择特定网络的依据。通…...
PS通过GTX实现SFP网络通信1
将 PS ENET1 的 GMII 接口和 MDIO 接口 通过 EMIO 方 式引出。在 PL 端将引出的 GMII 接口和 MDIO 接口与 IP 核 1G/2.5G Ethernet PCS/PMA or SGMII 连接, 1G/2.5G Ethernet PCS/PMA or SGMII 通过高速串行收发器 GTX 与 MIZ7035/7100 开发…...
前端面试项目细节重难点(已工作|做分享)(九)
面试官:请你讲讲你在工作中如何开发一个新需求,你的整个开发过程是什么样的? 答:仔细想想,我开发新需求的过程如下: (1)第一步:理解需求文档: 首先&#x…...
区间预测 | Matlab实现BP-ABKDE的BP神经网络自适应带宽核密度估计多变量回归区间预测
区间预测 | Matlab实现BP-ABKDE的BP神经网络自适应带宽核密度估计多变量回归区间预测 目录 区间预测 | Matlab实现BP-ABKDE的BP神经网络自适应带宽核密度估计多变量回归区间预测效果一览基本介绍程序设计参考资料 效果一览 基本介绍 1.Matlab实现BP-ABKDE的BP神经网络自适应带…...
抢占人工智能行业红利,前阿里巴巴产品专家带你15天入门AI产品经理
前言 当互联网行业巨头纷纷布局人工智能,国家将人工智能上升为国家战略,藤校核心课程涉足人工智能…人工智能领域蕴含着巨大潜力,早已成为业内共识。 面对极大的行业空缺,不少人都希望能抢占行业红利期,进入AI领域。…...
做网站可能遇到的困难/优化营商环境条例解读
###转载于:https://www.cnblogs.com/tinaluo/p/9278671.html...
浙江人工智能建站系统软件/会计培训
前言:这篇文章可能会引起“网页设计者”的不安,因为可能会让他们产生“我必须要学习枯燥的代码”的误解;这篇文章也可能会引起“程序员”的不安,因为可能会让他们产生“我必须学习繁琐的网页设计”的误解;这篇文章也可…...
杭州g20网站建设公司/获客
读书笔记-Effective Java(Lambda和Stream)42. Lambda优先于匿名类43.方法引用优先于Lambda44.坚持使用标准的函数接口45.谨慎使用Stream46.优先使用Stream中无副作用的函数47.Stream要优先用Collection作为返回类型48.谨慎使用Stream并行42. Lambda优先于…...
广州网站推广公司/什么是seo是什么意思
闲着无事,就敲起了Linux 命令,熟悉一下。记得昨天在书上看到了 find命令的用法,觉得挺神奇的。 其中 find 能够确定文件的查找深度 于是 敲了如下命令: #mkdir father #touch ff.c #cd father #touch ff.c #mkdir son #cd…...
如何修改网站域名/品牌策划与推广
你会给电动车充电吗?说到电动车充电,可能大家都不以为然,不就是一个充电吗?有什么不会的,一头接电源,一头连电池,这有什么不会的。你有没有发现,自认为会给电动车充电的你࿰…...
上海青浦房地产网站建设/谷歌seo新规则
介绍traits的文章很多,但感觉大部分文章的说明都很晦涩难懂,把一个并不很复杂的C模板的应用描述的过于复杂。忍不住想把自己的理解跟大家分享一下,或许我也只是掌握了一点traits的皮毛而已,但也希望这些皮毛能略微抓住你的眼球&am…...