从外部 if 语句访问值
acces value from outside if statement
如何从 if
语句的外部访问 var 值。我想从 if(video.available)
语句之外访问 brightestX
值。
void draw(){
if (video.available())
{
video.read();
image(video, 0, 0, width, height);
int brightestX = 0;
int brightestY = 0;
float brightestValue = 0;
video.loadPixels();
int index = 0;
for ( int y = 0; y < video.height; y++) {
for ( int x = 0; x < video.width; x++) {
int pixelValue = video.pixels[index];
float pixelBrightness = brightness(pixelValue);
if (pixelBrightness > brightestValue) {
brightestValue = pixelBrightness;
brightestY = y;
brightestX = x;
}
index++;
}
}
fill(255, 204, 0, 128);
ellipse(brightestX, brightestY, 200, 200);
}
}
只需在 if
条件的范围之外声明要访问的变量。您可以稍后在 if
条件中引用相同的变量来更新它们,然后在 if
之后您可以读取这些更新的值。当然,这些值只会在视频可用时更新:
void draw(){
int brightestX = 0;
int brightestY = 0;
if (video.available())
{
video.read();
image(video, 0, 0, width, height);
float brightestValue = 0;
video.loadPixels();
int index = 0;
for ( int y = 0; y < video.height; y++) {
for ( int x = 0; x < video.width; x++) {
int pixelValue = video.pixels[index];
float pixelBrightness = brightness(pixelValue);
if (pixelBrightness > brightestValue) {
brightestValue = pixelBrightness;
brightestY = y;
brightestX = x;
}
index++;
}
}
fill(255, 204, 0, 128);
ellipse(brightestX, brightestY, 200, 200);
}
println(brightestX, brightestY);
}
如果有帮助,请查看 Java Scope。
如何从 if
语句的外部访问 var 值。我想从 if(video.available)
语句之外访问 brightestX
值。
void draw(){
if (video.available())
{
video.read();
image(video, 0, 0, width, height);
int brightestX = 0;
int brightestY = 0;
float brightestValue = 0;
video.loadPixels();
int index = 0;
for ( int y = 0; y < video.height; y++) {
for ( int x = 0; x < video.width; x++) {
int pixelValue = video.pixels[index];
float pixelBrightness = brightness(pixelValue);
if (pixelBrightness > brightestValue) {
brightestValue = pixelBrightness;
brightestY = y;
brightestX = x;
}
index++;
}
}
fill(255, 204, 0, 128);
ellipse(brightestX, brightestY, 200, 200);
}
}
只需在 if
条件的范围之外声明要访问的变量。您可以稍后在 if
条件中引用相同的变量来更新它们,然后在 if
之后您可以读取这些更新的值。当然,这些值只会在视频可用时更新:
void draw(){
int brightestX = 0;
int brightestY = 0;
if (video.available())
{
video.read();
image(video, 0, 0, width, height);
float brightestValue = 0;
video.loadPixels();
int index = 0;
for ( int y = 0; y < video.height; y++) {
for ( int x = 0; x < video.width; x++) {
int pixelValue = video.pixels[index];
float pixelBrightness = brightness(pixelValue);
if (pixelBrightness > brightestValue) {
brightestValue = pixelBrightness;
brightestY = y;
brightestX = x;
}
index++;
}
}
fill(255, 204, 0, 128);
ellipse(brightestX, brightestY, 200, 200);
}
println(brightestX, brightestY);
}
如果有帮助,请查看 Java Scope。