Unity克隆对象不包含脚本

时间:2015-12-22 17:15:40

标签: unity3d

有人知道我的对象克隆时如何包含脚本。在我的游戏中,当我的球击中移动墙时,我需要制作它,然后需要显示包括我移动脚本在内的新墙。我的情况:显示新墙,但它没有移动。

请帮忙。 亲切的问候

2 个答案:

答案 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;
    }
}