2013-05-03 34 views
0

我我正在读的页面ProcessingJS作为一个js图形库

http://processingjs.org/articles/PomaxGuide.html

请注意部分“Processing.js是JavaScript的图形库”时遇到了一个问题:

的设置方法改写如下:

pjs.setup = function() { 
     pjs.size(200,200); 
     // we want to turn off animation, because this is a demo page and it 
     // would use cpu while not being looked at. Only draw on mousemoves 
     pjs.noLoop(); 
    } 

,并最后,我们可以调用设置()的kickstart草图。

pjs.setup(); 

问题是setup()已经覆盖,如何处理运行循环?没有这样的代码可以在setup()中调用draw()循环。

回答

0

draw()方法根据Processing类(源代码:https://s3.amazonaws.com/github/downloads/processing-js/processing-js/processing-1.4.1.js)中名为doLoop的字段的值自动调用。

当您致电noLoop()时,您将此值设置为false,实际上禁用循环。如果不这样做,那么Processing.js的行为将以的默认方式执行循环:无需在setup()方法中明确说明它。

+0

从技术上讲,只需调用setup()来执行循环,PJS使用的机制是什么?这似乎是隐含的。 – Gizak 2013-05-05 02:23:04

+0

我不知道这背后的技术细节,你应该看看我在答案中链接的代码。无论如何,我假设Processingjs每次都使用setInterval()来调用循环方法。另外看看该代码中的executeSketch函数,您可能会发现它很有趣。 – 2013-05-05 15:11:35

+0

谢谢。;-)我会检查源代码。 – Gizak 2013-05-05 15:43:38