2016-11-02 44 views
0

我似乎無法找到錯誤,但是當我刪除if語句它運行良好。代碼很短,所以應該很容易找到問題。processing.js意外的標識符在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

請包括確切的錯誤信息。 – JosephGarrone

+0

未捕獲的語法錯誤:意外的標識符 – Lauritz

+1

JavaScript是怎麼回事? –

回答

-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; 
} 
0

如果我在此處運行,您的代碼對我來說工作正常:http://processingjs.org/tools/processing-helper.html

你究竟如何運行你的代碼?

我強烈建議在Java模式下編程,然後切換到僅用於導出的JavaScript模式。這將捕獲所有你有小錯誤,如:

  • 你不應該有像frameRate()background()random()電話叫setup()函數之前。移動setup()函數中的那些函數。

  • random()函數返回一個float值,但是您將它存儲在一個int變量中。 JavaScript不會抱怨,但會造成奇怪的行爲。