2014-02-27 36 views
0

所以我做了這個可汗學院,並希望把它放在我的網站上。加工可汗學院vs加工2

https://www.khanacademy.org/cs/fade-away/4830224329998336

將其轉換爲JavaScript我把下面的代碼在不幸的是我得到的錯誤:你混合活躍和靜態模式。爲什麼這個工作可汗學院處理,而不是在正常的處理?另外還有什麼其他的方式可以寫出來使它工作?

//don't forget to click!!! 
background(2, 3, 3); 

strokeWeight(2); 
var x = random; 

void setup(){ 
    size(500,500); 
} 




void draw(){ 
    fill(0, 0, 0, 20); 
    rect(0,0, 400,400); 
    var randomSize = random(20, 60); 

    if (mouseIsPressed) { 

     noStroke(); 
     fill(random(0, 255), random(0, 255), random(0, 255), 373); 

     } 

    else { 
     noStroke(); 
     fill(255, 0, 0, 15); 
     randomSize=50; 
    } 
    ellipse(mouseX, mouseY, randomSize, randomSize); 
}; 
+0

這個問題的答案可能是你感興趣的。 (http://stackoverflow.com/questions/6658827/processing-it-looks-like-youre-mixing-active-and-static-modes) – bigblind

回答

1

您的代碼有幾個問題。首先,您不能在draw()setup()之外進行函數調用 - 這就是導致「活動vs靜態」錯誤的原因。將它們移動到setup()之內。其次,在處理中沒有mouseIsPressed這樣的東西,但有mousePressed。在draw()的大括號後面也不需要分號。您還可以使用硬編碼值400來繪製矩形,而窗口本身是500 x 500。你不應該使用硬編碼的數字,使用內置的widthheight常數。最後,你從不使用變量x,所以我評論說。這裏是可用的代碼(並且清理,格式化)。

//don't forget to click!!! 

void setup() { 
    size(500, 500); 
    background(2, 3, 3); 
    strokeWeight(2); 
    //var x = random; 
} 

void draw() { 
    fill(0, 0, 0, 20); 
    rect(0, 0, width, height); 
    var randomSize = random(20, 60); 
    noStroke(); 

    if (mousePressed) { 
    fill(random(0, 255), random(0, 255), random(0, 255), 373); 
    } else { 
    fill(255, 0, 0, 15); 
    randomSize=50; 
    } 
    ellipse(mouseX, mouseY, randomSize, randomSize); 
} 
+0

非常感謝!我發現我不應該有setup()之外的函數,但mouseIsPressed仍然讓我感到困惑。我真的很困惑,這爲我清除了它。也感謝您的建議! – Zachooz

相關問題