Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在使用处理库的Java应用程序中遇到updatePixels()问题_Java_Processing - Fatal编程技术网

在使用处理库的Java应用程序中遇到updatePixels()问题

在使用处理库的Java应用程序中遇到updatePixels()问题,java,processing,Java,Processing,我正在尝试用Java编写一个简单的游戏,它使用处理来渲染图形。但是,使用updatePixels()呈现任何更改时遇到问题。我可以成功地设置背景颜色并绘制基本的2d形状,但编辑pixels[]变量或使用set(x,y,color)都无法获得任何结果 这是我的(节略)代码: 当我初始化这个类时,我在黑屏上得到一个白色椭圆,而不是一个红色像素的屏幕(这是我所期望的)。 像素[]数组肯定在那里,正如我打印出来的,我没有得到任何错误。 我做错了什么?这行: p = this.color(255, 0,

我正在尝试用Java编写一个简单的游戏,它使用处理来渲染图形。但是,使用updatePixels()呈现任何更改时遇到问题。我可以成功地设置背景颜色并绘制基本的2d形状,但编辑pixels[]变量或使用set(x,y,color)都无法获得任何结果

这是我的(节略)代码:

当我初始化这个类时,我在黑屏上得到一个白色椭圆,而不是一个红色像素的屏幕(这是我所期望的)。 像素[]数组肯定在那里,正如我打印出来的,我没有得到任何错误。 我做错了什么?

这行:

p = this.color(255, 0, 0);
仅更改局部变量
p
,如果像素值为

您需要修改
像素
数组中的值,如下所示:

for (int i = 0 ; i < pixels.length ; i++) {
    pixels[i] = color(255, 0, 0);
}
for(int i=0;i
此行:

p = this.color(255, 0, 0);
仅更改局部变量
p
,如果像素值为

您需要修改
像素
数组中的值,如下所示:

for (int i = 0 ; i < pixels.length ; i++) {
    pixels[i] = color(255, 0, 0);
}
for(int i=0;i
实际上,对于每个函数,您编写的代码与Java的代码是等效的。我认为问题比这更微妙。我也尝试过按索引修改单个像素,但没有效果。@Fecal Brunch:不,这不是等价的,p不是对像素的引用,而是一个int。请尝试给定的代码。@PhiLho感谢您的查看。我确实试过这个,以防万一,但没用。我还尝试了“像素[5]=颜色(255,0,0)”之类的方法来改变个体。我相当肯定这与环路无关。至于为什么for-each是等效的,请注意“pixels[]”实际上是一个int数组,其像素存储为十六进制RGB值。例如,“PApplet.color(255,0,0)”将返回“0xFF000000”(最后两个零是alpha通道)。只是为了澄清每一种等效性:啊,我刚刚又试了一次,现在它起作用了。令人惊叹的。但是为什么每项工作都没有呢?嗯,好吧,这是对的,但当我改变它时,什么也没发生。我遇到的问题实际上是代码中的其他地方。我真傻。谢谢各位。实际上,对于每个函数,您编写的代码都相当于Java的代码。我认为问题比这更微妙。我也尝试过按索引修改单个像素,但没有效果。@Fecal Brunch:不,这不是等价的,p不是对像素的引用,而是一个int。请尝试给定的代码。@PhiLho感谢您的查看。我确实试过这个,以防万一,但没用。我还尝试了“像素[5]=颜色(255,0,0)”之类的方法来改变个体。我相当肯定这与环路无关。至于为什么for-each是等效的,请注意“pixels[]”实际上是一个int数组,其像素存储为十六进制RGB值。例如,“PApplet.color(255,0,0)”将返回“0xFF000000”(最后两个零是alpha通道)。只是为了澄清每一种等效性:啊,我刚刚又试了一次,现在它起作用了。令人惊叹的。但是为什么每项工作都没有呢?嗯,好吧,这是对的,但当我改变它时,什么也没发生。我遇到的问题实际上是代码中的其他地方。我真傻。谢谢各位。