Processing中的millis()函数
作者:野牛程序员:2023-12-08 15:43:12其他阅读 3119
在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

