如何在Unity中的void Start()和void Update()之间传递值?

时间:2019-08-28 16:52:31

标签: c# unity3d

我想找出:

如何将分配给Start()的变量的值传递给Update()函数?

当我调用在Start()上分配的变量时,Update()上的Debug.Log()显示为空还是什么都没有?

1 个答案:

答案 0 :(得分:3)

只需对评论中已经提到的内容给出更直观的答案。

class MyClass 
{
    string hello;           // Declare variable

    void Start() 
    {
        hello = "world";    // Set variable
    }

    void Update()
    {
        Debug.Log(hello);   // Read variable
    }
}

大括号{}定义了一个 scope ,作用域中声明的变量只能在其自身和子作用域(包含在该作用域中的函数等)中访问范围)。因此,在我们的情况下,如果在Start()中声明一个变量,则由于Update()不在Start()的 scope 之内,因此在Update()中将无法访问该变量。