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
