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
                // 将其设定为红色
            }
        }
    }
}
Tags: