【Unity&对象数组】如何创建一个长度不确定的对象数组以及使用方法&墙壁单元方块对象数组
来源:互联网 发布:淘宝卖家 人工服务电话 编辑:程序博客网 时间:2024/04/29 23:22
在Unity使用过程中,很多时候会用到长度不确定的 对象数组。
不确定的 对象数组 使用 声明部分 的代码就可以了。
但是,只要是数组,要把对象存放在对象数组里面,就必须知道 要存放 对象 的数量,也就是必须得知道 数组的长度
使用 list ,也是可以实现,本文不赘述
定义private List<Vector3> offsets = new List<Vector3>();
offsets.Add(transform.position); 从0开始依次添加对象
offsets.RemoveAt(0); 移除编号为0的对象
在代码 实际使用中,有很多情况 数组的长度 是动态变化的,根据不同条件,不同变量 不断的变化,以我的这个代码为例子
要动态创建4面墙壁,就必须得知道 这个对象 的长宽高, 以空物体 的Scale 的X,Y,Z,来代替空物体墙壁的长宽高
于是可得 组成 4面墙壁的 单位方块 的数量
float length =0 ; float width = 0; width = transform.localScale.z * transform.localScale.y;//(z+) length = transform.localScale.x * transform.localScale.y;//(x+)
知道了后,再对 对应 以 墙壁 对象数组 的 对应墙壁的单位方块 数量 创建一个新的对象数组
wallgo1 = new GameObject[(int)width]; wallgo3 = new GameObject[(int)width]; wallgo2 = new GameObject[(int)length]; wallgo4 = new GameObject[(int)length];对每个对象 赋值 为空,否则 会报错(请以实际情况为主)
for (int i = 0; i < width;i++) { wallgo1[i] = null; wallgo3[i] = null; }// for (int i = 0; i < length; i++) { wallgo2[i] = null; wallgo4[i] = null; }//
然后就创建完毕,要调用一面墙壁的所有 单位方块,就 直接调用 这4个对应的墙壁 对象数组即可
具体请结合文章参看
【Unity&精灵】如何通过已知道的坐标获取物体&动态生成墙壁
那么该怎么创建呢
声明
private GameObject[] wallgo1 = null;//墙壁数组 wallgo1 private GameObject[] wallgo2 = null; private GameObject[] wallgo3 = null; private GameObject[] wallgo4 = null;
赋值
void WallGoArray() { float length =0 ; float width = 0; width = transform.localScale.z * transform.localScale.y;//(z+) length = transform.localScale.x * transform.localScale.y;//(x+) wallgo1 = new GameObject[(int)width]; wallgo3 = new GameObject[(int)width]; wallgo2 = new GameObject[(int)length]; wallgo4 = new GameObject[(int)length]; for (int i = 0; i < width;i++) { wallgo1[i] = null; wallgo3[i] = null; }// for (int i = 0; i < length; i++) { wallgo2[i] = null; wallgo4[i] = null; }// }//
调用
只有当 对象数组有 对象,且有一定的长度的时候,对象数组 才能够被 调用。
在其他的函数里面可以调用 这 4 个对象 数组了。(一定要注意,这4个对象数组,先声明,后赋值,规定长度,并对 长度 内的每个 对象赋值,就算是 null也行)
以上就是 创建一个长度不确定的对象数组的用法。
0 0
- 【Unity&对象数组】如何创建一个长度不确定的对象数组以及使用方法&墙壁单元方块对象数组
- 如何创建一个不确定长度的数组
- 如何创建对象的数组
- Array对象的数组长度
- js中的数组与对象的创建以及json对象
- Java如何输入不确定长度的数组
- C++对象数组的创建
- json数组对象和对象数组、json对象长度
- javascript 对象数组不确定对象属性名遍历问题
- 创建数组对象
- java创建对象数组
- 一个数组对象的排序
- IE8下对象数组的长度问题
- Js获取 数组或对象 的长度
- 遍历js数组对象的长度
- 建立一个对象数组
- 一个数组中有多个对象
- 如何将一个ArrayLike(类数组对象)变成一个Array(真正的数组对象)
- 数据结构C语言版之赫夫曼编码
- rem自适应布局-移动端自适应必备
- NumPy 文件存取 tofile,fromfile, load,save
- Java SE 基础:集合(1)
- mobius函数的计算
- 【Unity&对象数组】如何创建一个长度不确定的对象数组以及使用方法&墙壁单元方块对象数组
- 矩阵乘法
- jsoup解析HTML,爬取小说实例
- 字符串替换
- 38-2-2
- Error running app: Instant Run requires 'Tools | Android | Enable ADB integration' to be enabled.
- js高级程序设计笔记6--DOM
- #“Machine Learning”(Andrew Ng)#Week 3_4:Solving the Problem of Overfitting
- java--jdbc连接mysql驱动