0

您好,当一个物体穿过一个空物体时,我正试图让一个计分器运行。下面是我正在使用的代码。

private void OnTriggerEnter(Collider other){
     var collider = projectile.gameObject;
     score = score+1;
    // Debug.Log(collider);
    Debug.Log(score);
}

当弹丸穿过物体时分数会增加,但如果我射击第二个,分数不会再次增加,直到第一个弹丸回滚并变为两个。

我想知道的是如何在通过空对象一秒钟后销毁对象,在存储该分数的同时将分数增加一,还允许另一个对象通过并重复前面的步骤但将分数增加到 2等等。

任何帮助,将不胜感激

4

1 回答 1

2

当弹丸穿过物体时分数会增加,但如果我射击第二个,分数不会再次增加,直到第一个弹丸回滚并变为两个。

我猜你的分数变量是在你的射弹脚本实例中定义的,所以不同的射弹有不同的分数变量实例。我建议您将您的分数存储在弹丸脚本之外的其他地方。

使用一个类(es.Score Manager)来存储分数并在你的射弹脚本中添加对它的引用。

我想知道的是如何在通过空对象一秒钟后销毁对象,在存储该分数的同时将分数增加一,还允许另一个对象通过并重复前面的步骤但将分数增加到 2等等。

这不会解决你的问题。顺便说一句,您可以使用Object.Destroy方法销毁对象:

GameObject aGameObject;
...
GameObject.Destroy(aGameObject); //this will destroy the object referenced by aGameObject
于 2013-02-20T13:09:58.680 回答