意外令牌:处理中的 int
Unexpected Token: int in processing
所以我正在编写一个着色/艺术程序,并试图检测框中的鼠标点击为 select 颜色。我有颜色作为一个变量,我正在使用 If 语句来修改它,但是我的变量每次我 运行 它都会抛出一个错误。错误来自第 3 行 'int color = #FFFFFF'
void draw()
{
int color = #FFFFFF;
pen.beginDraw();
if(mousePressed && (mouseX > 5 && mouseX < 95 && mouseY > 5 && mouseY < 95))
{
pen.clear();
}
if(mousePressed && (mouseX > 5 && mouseX < 95 && mouseY > 105 && mouseY < 195))
{
color = #000000;
}
if(mousePressed && (mouseX >5 && mouseX <95 && mouseY > 205 && mouseY < 295))
{
color = #000EFF;
}
if(mousePressed && (mouseX >5 && mouseX <95 && mouseY > 305 && mouseY < 395))
{
color = #FF0000;
}
if(mousePressed && (mouseX >5 && mouseX <95 && mouseY > 405 && mouseY < 495))
{
color = #00FF0A;
println("green");
}
pen.fill(color);
pen.ellipse(mouseX, mouseY, 10, 10);
pen.endDraw();
}
在处理缩进时 color
是一个内置函数的名称 (color()
),它从红色、绿色、蓝色和 alpha 颜色通道创建一个完整的颜色值。
这导致您不能声明具有相同名称的变量 color
.
您必须重命名变量才能解决问题:
例如
int fillcolor = color(255);
int fillcolor = color(0, 14, 255);
int fillcolor = color(255, 0, 0, 255);
如果您使用十六进制值设置变量 fillcolor
,那么您必须考虑设置颜色也有一个 alpha 通道。这意味着该值由 4 个颜色分量组成,并且必须有 8 个十六进制数字:
例如
int fillcolor = #FFFFFFFF;
int fillcolor = 0xFF000000;
反正还是比较喜欢用函数color()
,这样代码更易理解
可能你不想在函数中声明变量draw
,但你想声明一个全局变量。
考虑像这样编写代码:
int fillcolor = color(255);
void draw() {
pen.beginDraw();
if (mousePressed) {
if (mouseX > 5 && mouseX < 95) {
if (mouseY > 5 && mouseY < 95) {
pen.clear();
} else if (mouseY > 105 && mouseY < 195) {
fillcolor = color(0);
} else if (mouseY > 205 && mouseY < 295) {
fillcolor = color(0, 0, 255);
} else if (mouseY > 305 && mouseY < 395) {
fillcolor = color(255, 0, 0);
} else if (mouseY > 405 && mouseY < 495) {
fillcolor = color(00, 255, 0);
println("green");
}
}
}
pen.fill(fillcolor);
pen.ellipse(mouseX, mouseY, 10, 10);
pen.endDraw();
}
所以我正在编写一个着色/艺术程序,并试图检测框中的鼠标点击为 select 颜色。我有颜色作为一个变量,我正在使用 If 语句来修改它,但是我的变量每次我 运行 它都会抛出一个错误。错误来自第 3 行 'int color = #FFFFFF'
void draw()
{
int color = #FFFFFF;
pen.beginDraw();
if(mousePressed && (mouseX > 5 && mouseX < 95 && mouseY > 5 && mouseY < 95))
{
pen.clear();
}
if(mousePressed && (mouseX > 5 && mouseX < 95 && mouseY > 105 && mouseY < 195))
{
color = #000000;
}
if(mousePressed && (mouseX >5 && mouseX <95 && mouseY > 205 && mouseY < 295))
{
color = #000EFF;
}
if(mousePressed && (mouseX >5 && mouseX <95 && mouseY > 305 && mouseY < 395))
{
color = #FF0000;
}
if(mousePressed && (mouseX >5 && mouseX <95 && mouseY > 405 && mouseY < 495))
{
color = #00FF0A;
println("green");
}
pen.fill(color);
pen.ellipse(mouseX, mouseY, 10, 10);
pen.endDraw();
}
在处理缩进时 color
是一个内置函数的名称 (color()
),它从红色、绿色、蓝色和 alpha 颜色通道创建一个完整的颜色值。
这导致您不能声明具有相同名称的变量 color
.
您必须重命名变量才能解决问题:
例如
int fillcolor = color(255);
int fillcolor = color(0, 14, 255);
int fillcolor = color(255, 0, 0, 255);
如果您使用十六进制值设置变量 fillcolor
,那么您必须考虑设置颜色也有一个 alpha 通道。这意味着该值由 4 个颜色分量组成,并且必须有 8 个十六进制数字:
例如
int fillcolor = #FFFFFFFF;
int fillcolor = 0xFF000000;
反正还是比较喜欢用函数color()
,这样代码更易理解
可能你不想在函数中声明变量draw
,但你想声明一个全局变量。
考虑像这样编写代码:
int fillcolor = color(255);
void draw() {
pen.beginDraw();
if (mousePressed) {
if (mouseX > 5 && mouseX < 95) {
if (mouseY > 5 && mouseY < 95) {
pen.clear();
} else if (mouseY > 105 && mouseY < 195) {
fillcolor = color(0);
} else if (mouseY > 205 && mouseY < 295) {
fillcolor = color(0, 0, 255);
} else if (mouseY > 305 && mouseY < 395) {
fillcolor = color(255, 0, 0);
} else if (mouseY > 405 && mouseY < 495) {
fillcolor = color(00, 255, 0);
println("green");
}
}
}
pen.fill(fillcolor);
pen.ellipse(mouseX, mouseY, 10, 10);
pen.endDraw();
}