【发布时间】:2016-03-26 17:44:54
【问题描述】:
我有一个 2d 游戏,其中有一个原始敌人忍者。
我创建了生成脚本来克隆我原来的忍者。然后我把它放在我的主摄像头上,让我的忍者克隆在主摄像头视图中生成。我原来的忍者也有一个脚本,它会在几秒钟后删除。
我意识到删除我原来的忍者会导致我的克隆忍者不会出现,但我想删除所有克隆的对象,这样我就不会过度运行我的项目。
有没有办法可以删除生成克隆忍者不接触原始忍者。或者将我的原始忍者隐藏在检查器中而不隐藏生成克隆。
这是我的销毁忍者代码:
private IEnumerator Killninja() {
yield return new WaitForSeconds (4f);
Destroy (gameObject);
}
void Update () {
StartCoroutine (Killninja ());
}
【问题讨论】:
-
主要忍者是否必须在游戏中,或者他只是一个预制件?否则你可以例如在脚本中包含一个公共布尔值,如
public bool isClone = true;,在检查器中将其设置为 false 以获取原始值并签入更新if(isClone){ StartCoroutine... } -
您还应该在
StartCoroutine周围包含一个状态布尔值,以便它只启动一次。目前它开始每一帧。它仍然会被第一个破坏,但你只想要一个。