与团结的胜利背道而驰

本文关键字:胜利 背道而驰 | 更新日期: 2023-09-27 18:33:48

在使用

Unity时遇到了问题。我只是想在每次发生碰撞时增加分数,但我的代码没有帮助。我知道这听起来很基本,但我已经在网站上四处寻找了很长一段时间,但我还没有找到答案。下面是脚本:

我已经检查过了,"胜利屏幕"已经制作和构建。

public class PaintScriptGreen : MonoBehaviour {
    public GameObject CylGreen;
    private int score = 0;
    private Vector3 tempPos;
    private Quaternion tempRot;
    private GameObject tempCyl;
    void Awake () 
    {
    }
    public void AddScore (int scoreValue)
    {
            score += scoreValue;
    }
    void OnTriggerEnter(Collider col)
    {
        if (col.gameObject.tag == "Cylinder" && col.gameObject.tag != "TreeHolder") 
        {
            tempPos = col.gameObject.transform.position;
            tempRot = col.gameObject.transform.rotation;
            Destroy (col.gameObject);
            tempCyl = Instantiate(CylGreen, tempPos, tempRot) as GameObject;
            AddScore (1);
            if (score >= 4)
            {
                Application.LoadLevel ("VictoryScreen");
            }
        }
        if ((col.gameObject.tag != "Player")&&(col.gameObject.tag != "PlayPart")) 
        {
                // destroy self bullet
                Destroy (this.gameObject);
        }
    }

与团结的胜利背道而驰

    if ((col.gameObject.tag != "Player")&&(col.gameObject.tag != "PlayPart")) 
    {
            // destroy self bullet
            Destroy (this.gameObject);
    }

这大概是罪魁祸首。只要上述条件不成立,您就会破坏"这个"。这个剧本在子弹上吗?如果是这样,则需要将评分机制移动到未被销毁的对象或使其成为静态变量。我不喜欢静态变量,但这是一个可能的解决方案。