Unity3d OnTriggerEnter c#

时间:2013-02-20 12:27:16

标签: c# unity3d

你好我正试图在一个物体通过一个空物体时得到一个分数计数器。以下是我正在使用的代码。

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

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

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

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:2)

  

当射弹穿过物体时,分数增加但是   如果我拍第二张,那么分数不会再增加,直到   第一个抛射物滚回来,然后变成两个。

我猜您的得分变量是在您的射弹脚本实例中定义的,因此不同的射弹有不同的得分变量实例。 我建议你把你的得分存储在除弹丸脚本以外的地方。

使用类(es.Score Manager)存储乐谱并在投射脚本中添加对它的引用。

  

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

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

GameObject aGameObject;
...
GameObject.Destroy(aGameObject); //this will destroy the object referenced by aGameObject