对象在处理

时间:2018-02-19 00:17:05

标签: processing

我在下面有2个打印声明。第一个print语句工作正常但第二个print返回null值。可能是什么原因。

提前致谢。

void setup()

{
setSize(800);
GUI g=new GUI();
Println(g); // this prints fine
}
void draw()
{
Println(g); //this becomes null
}

1 个答案:

答案 0 :(得分:0)

首先,请发布您正在运行的实际代码。 println()函数以小写字母开头,因此您发布的代码将无法编译。请发布MCVE

其次,请了解范围如何运作。您在一个函数中创建的变量在其他函数中不可用。因此,您在g函数中创建的setup()变量与g函数中的draw()变量不同!

所有这一切,你的问题是由于Processing包含一个你不应该捣乱的g变量这一事实引起的。更改变量的名称以避免此问题。当然,这会给你一个编译器错误,因为你试图使用其范围之外的变量。通过声明要在草图顶部的多个函数中使用的变量来解决此问题。