繁体   English   中英

Unity3d OnTriggerEnter c#

[英]Unity3d OnTriggerEnter c#

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

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

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

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

任何帮助,将不胜感激

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM