文章目录
Lists
- list 和 array 非常类似
- 在运行过程中可以扩展,增加 size,或者减小 size
- array 的 size 是固定的
- 我们可以用 array 来设定我们的背包,比如有 10 个物品空间可以存放不同物品
- 但是我们希望用 list 来设计我们的道具体系,因为新的道具可能需要不断添加生成
创建一个 GameManager,在里面创建一个 list,用于存放生成的游戏对象:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class GameManager : MonoBehaviour
{
public List<GameObject> enemiesList; // 设定一个存放 enemies 游戏对象的列表
// 这里括号里面设定了列表里面元素的类型,这里的类型有游戏对象
public GameObject[] objArray; // 对比 array,声明的方式不同
// Start is called before the first frame update
void Start()
{
enemiesList = new List<GameObject>(); // 初始化一个空的列表
objArray = new GameObject[10]; // 初始化一个空的数组,长度为 10
// 也可以选择不进行初始化,而是在unity 的 inspector 中设定长度
// 然后拖拽需要放到列表/数组中的元素
// 我们也可以在脚本里进行赋值操作:
objArray[0] = new GameObject(); // 数组中的 0 号元素进行赋值
enemiesList.Add(new GameObject()); // 为列表添加元素
// 除了 Add,还有 Remove, Sort, Insert 等很多 List 的方法和属性可以使用
// 对于列表中元素的属性进行操作的方法类似:
objArray[0].name = "AAA";
enemiesList[0].name = "BBB";
}
// Update is called once per frame
void Update()
{
}
}
在 unity 中 GameManager 脚本有个专属的图标:齿轮。
Challenge: You Have Been Named
- 任务说明:
- 创建一个姓名的列表,把每一个都打印出来
- 列表中包含 4 个名字
- 按下空格键&#x