想做一套单机的,用指令控制不同角色的程序
生成的对象名称为“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;
}
}
初始化后你如果想要使用指令对不同对象进行操作,我建议在返回前你把这对象保存到一个静态类里面,方便查找
然后引入命令模式。编写命令解析器。即可对不同对象执行命令