有人知道我的对象克隆时如何包含脚本。在我的游戏中,当我的球击中移动墙时,我需要制作它,然后需要显示包括我移动脚本在内的新墙。我的情况:显示新墙,但它没有移动。
请帮忙。 亲切的问候
答案 0 :(得分:1)
这很容易。
第一种情况:如果您使用预制件进行实例化,请务必在预制件上分配脚本。
第二种情况:如果您正在使用模板直接从墙的GameObject实例化,它应该使用相同的脚本创建GameObject。
如果它仍然没有移动,请检查Inspector克隆的墙,如果脚本已启用,请仔细检查脚本的工作方式(可能需要一些初始化或其他)
答案 1 :(得分:0)
如果您的脚本不在您的预制件上(出于任何原因),您可以通过脚本添加:
void CreateWall(){
GameObject obj = (GameObject)Instantiate(wallPrefab);
NewScript ns = obj.AddComponent<NewScript>();
}
我能想到的唯一优势是您可以根据具体情况添加特定组件。如果条件B:
,则假设您要添加脚本A(如果条件A或脚本B)void CreateWall(){
GameObject obj = (GameObject)Instantiate(wallPrefab);
switch(condition){
case A:
obj.AddComponent<ScriptA>();
break;
case B:
obj.AddComponent<ScriptB>();
break;
}
}