我似乎无法找到错误,但是当我删除if语句时它运行正常。代码很短,所以应该很容易找到问题。
int zw1;
int zw2;
int px = 100;
int py = 100;
int ppx = px + random(-20, 20);
int ppy = py + random(-20, 20);
int cx;
int cy;
int xrand = 50;
int yrand = 50;
int opacity = 49;
frameRate(30);
background(74, 71, 74);
int timetoclear = 0;
int x0 = 0;
int y0 = 0;
void setup() {
size(400, 400);
}
void draw() {
cx = px + random(-xrand, xrand);
cy = py + random(-xrand, xrand);
// fill(74, 72, 74,5);
// rect(-10,-10,1000,1000);
//cx = mouseX;
//cy = mouseY;
if (cx <= 0) {
cx = 0;
}
if (cx >= 400) {
cx = 400;
}
if (cy <= 0) {
cy = 0;
}
if (cy >= 640) {
cy = 640;
}
stroke(30 + random(-100, 100), 195 + random(-100, 100), 201, 60);
fill(30 + random(-100, 100), 195 + random(-100, 100), 201, 50);
triangle(ppx, ppy, px, py, cx, cy);
ppx = px;
ppy = py;
px = cx;
py = cy;
}
抛出: 未捕获的SyntaxError:意外的标识符
答案 0 :(得分:0)
如果我在这里运行代码,我的代码可以正常运行:http://processingjs.org/tools/processing-helper.html
你究竟是如何运行代码的?
我强烈建议您在Java模式下进行编程,然后仅在导出时切换到JavaScript模式。这将捕获您所有的小错误,例如:
在调用frameRate()
函数之前,您不应该使用background()
和random()
以及setup()
之类的调用。移动setup()
函数内的那些。
random()
函数返回float
值,但您将其存储在int
变量中。 JavaScript不会抱怨,但会导致奇怪的行为。
答案 1 :(得分:-1)
不知道为什么会失败,但您可以尝试将其作为解决方法:
cx = Math.max(0, Math.min(400, cx));
cy = Math.max(0, Math.min(640, cy));
而不是
if (cx <= 0) {
cx = 0;
}
if (cx >= 400) {
cx = 400;
}
if (cy <= 0) {
cy = 0;
}
if (cy >= 640) {
cy = 640;
}