我有一个2d游戏,其中有一个原始的敌人忍者。
我创造了繁殖脚本来克隆我的原忍者。然后我把它放在我的主相机上,让我的忍者克隆人在主摄像机的视野内产卵。我的原忍者也有一个脚本,几秒钟后,它将删除。
我意识到删除我原来的忍者是因为我的克隆忍者没有出现,但我想删除任何克隆对象,这样我就不会运行我的项目。
有没有办法,我可以删除产卵克隆忍者,而不触及原忍者。或者把我原来的忍者藏在巡官那里而不隐藏那些克隆人。
这是我的毁灭忍者密码:
private IEnumerator Killninja() {
yield return new WaitForSeconds (4f);
Destroy (gameObject);
}
void Update () {
StartCoroutine (Killninja ());
}发布于 2016-03-26 20:03:05
如果你不想你的原忍者在现场,不要有它在现场。将其从场景中拖到中。这将创造一个预制件的忍者。然后你可以从现场删除忍者。
现在有一个ObjectSpawner.cs脚本,它的任务是生成一个预置文件。忍者,就像:
public class ObjectSpawner : MonoBehaviour
{
public GameObject prefab;
void Start()
{
GameObject.Instantiate(prefab, transform.position, transform.rotation);
}
}将ObjectSpawner分配给场景中的空GameObject,并将您先前创建的Ninja分配给它的prefab字段。这将产生一个忍者一旦游戏开始,在您的NinjaSpawner对象的位置。
一旦忍者的时间到了,您的Ninja.cs脚本将负责销毁它:
public class Ninja : MonoBehaviour
{
void Start()
{
StartCoroutine(DestroyDelayed());
}
IEnumerator DestroyDelayed()
{
yield return new WaitForSeconds(4f);
Destroy(gameObject);
}
}确保脚本分配给您的忍者对象。
https://stackoverflow.com/questions/36238649
复制相似问题