Unity的C#编程教程_45_遍历游戏对象数组进行操作
- 数组除了用来存储字符串,数字,还能用来存储 unity 中的各种对象
比如我们可以把一些 3d 方块放进一个数组进行管理,按下空格键,把所有的方块都变成红色:
首先在 unity 中新建 3 个 cube
然后打开 C# 脚本:
public GameObject[] cubes; // 初始化一个游戏对象的数组,用于存放方块对象
然后回到 Unity,就可以拖拽的方式把 3 个 Cube 赋值到数组中
赋值完成后,Cubes 数组的 Size 会变成 3
这个时候我们就可以从脚本中操作这 3 个方块了
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class ArrayOverview : MonoBehaviour
{
public GameObject[] cubes; // 初始化一个游戏对象的数组,用于存放方块对象
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
if (Input.GetKeyUp(KeyCode.Space)) // 检测到按下空格键
{
foreach(var cube in cubes) // 遍历数组中的所有 cube
{
cube.GetComponent<MeshRenderer>().material.color = Color.red;
// 游戏对象 cube 下面的组件 Mesh Renderer
// 该组件下面的类 material
// 该类下的属性 color
// 将其设定为红色
}
}
}
}