繁体   English   中英

变量在无效更新中不增加

[英]Variable not incrementing in void update

在下面给出的代码中,变量loop不递增。始终将输出为 0。如果我们在递增值后打印循环,则循环递增一次。

public class move : MonoBehaviour
{
    int loop = 0;
    float[,] comp = new float[10,2];
    public Vector3 speed;

    void Start ()
    {
        speed = new Vector3(0,0.15f,0);
    }

    void Update ()
    {
        comp = spawner.score;
        transform.Translate(speed);

        if(transform.position.y < -2)
        {   
            loop++;
            Debug.Log("Loop:"+loop);
            Destroy(gameObject);
        }
    }
}
  1. 您的带有移动组件的游戏对象在世界 pos 中远低于“-2”? (参见 -> if(transform.position.y < -2) )或者循环可以递增。

  2. 正如他在评论中所说的“是”, DestrouDestrou
    你想使用Destroy吗? 在这种情况下,为什么要使用循环来计算所有销毁元素?
    所以循环增加了,之后对象就被销毁了。

  3. 如果loop要计算元素的数量,则必须将循环变量放在其他无法销毁的脚本中(例如:您可以使用Singleton正确访问它)

暂无
暂无

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

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