unity如何创建一系列带编号的对象

问题遇到的现象和发生背景

想做一套单机的,用指令控制不同角色的程序

我想要达到的结果

生成的对象名称为“obj+编号”的形式,如obj1,obj2……而他们来自同一个预制体

当我输入相关指令时,如1_move,则令obj1移动,2_move,则令obj移动,如果同时输入1_move与2_move,则obj1与obj2均移动。

实例化的时候改一下名字不就行了吗

实例化的时候创建一个变量保存一下引用,下次需要调用的时候,就直接操作这个变量就可以了

嗨。如楼上所言只需要实例化时改一下名称就可以了。除了更改一下名称,你可能需要对不同类型对象进行一些初始化。如

public enum GameObjectType
{
    enemy
}
public static class GameObjectHelper
{
    public static GameObject Create(GameObject prefab,GameObjectType type)
    {
        var go =GameObject.Instantiate(prefab);
        go.name = $"{type}_{Guid.NewGuid()}";
        switch (type) 
        {
            case GameObjectType.enemy:
                {
                    //进行一些初始化
                }
                break;
        }
        return go;
    }
}

初始化后你如果想要使用指令对不同对象进行操作,我建议在返回前你把这对象保存到一个静态类里面,方便查找
然后引入命令模式。编写命令解析器。即可对不同对象执行命令