当前位置:首页其他 > 正文

Processing中的millis()函数

作者:野牛程序员:2023-12-08 15:43:12其他阅读 3086

在Processing中,delay() 函数会阻塞整个程序,导致界面无响应。这是因为Processing是一个事件驱动的框架,它使用一个主线程来处理用户输入和渲染画布。当你在主线程中使用 delay() 函数时,它会阻塞整个程序,包括用户输入和画布的渲染,导致程序看起来像是被冻结了一段时间。

要实现类似延迟的效果而不阻塞整个程序,可以考虑使用 millis() 函数和变量来追踪时间。以下是一个使用 millis() 的示例:

int startTime;
int delayDuration = 500;  // 设置延迟时间为500毫秒

void setup() {
  size(400, 400);
  startTime = millis();  // 记录开始时间
}

void draw() {
  // 其他绘图逻辑

  // 检查是否达到延迟时间
  if (millis() - startTime > delayDuration) {
    // 在这里添加你的延迟后的代码

    // 重置开始时间
    startTime = millis();
  }
}

上述代码中,millis() 函数返回自程序开始以来的毫秒数。通过比较当前时间和开始时间,可以确定是否达到了延迟时间。这种方式避免了阻塞整个程序。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
相关推荐

最新推荐

热门点击