设置和绘制功能是否在处理中并行运行

时间:2018-02-18 22:02:22

标签: processing

fileselected循环执行之前,此代码中的while函数是否完成了它的执行?

void setup()
{ 
size(800, 600);
selectInput("Select a file to process:", "fileSelected"); 
while(data==null)
{
 delay(1000);
}
 }
 void fileselected()
  {
   *
    *

   *

  *

  }

如何使draw函数等到收到必要的参数才能运行?

1 个答案:

答案 0 :(得分:2)

  

设置和绘制功能在处理中并行运行

没有。首先调用setup()函数并完成,然后每秒调用draw()函数60次。

  

fileselected函数甚至在循环执行之前就完成了它的执行。

当用户选择文件时,将调用fileSelected()函数。你真的不应该在这样的循环中调用delay()函数。

  

如何让draw函数等到它收到必要的参数才能运行。

这样的事情:

boolean fileLoaded = false;

void setup(){ 
  size(800, 600);
  selectInput("Select a file to process:", "fileSelected"); 
}

void fileSelected(File selection){
  fileLoaded = true;
}

void draw(){
  if(!fileLoaded){
    //short-circuit and stop the function
    return;
  }
}

您可以更进一步,使用noLoop()loop()功能。更多信息可以在the reference找到。