Processing.js是否有sleep()函数?如果不是什么是在draw()循环中添加延迟的合适替代方法?
我正在使用JQuery with Processing - 我可以使用JQuery或Javascript函数在循环中导致睡眠类型延迟吗?
谢谢!
答案 0 :(得分:3)
处理具有delay()功能,但不幸的是,尚未在Processing.js中实现。
你可以将JS(JQuery等)与Processing混合使用。 Processing 1.9.9现在有一个Javascript模式,还有一些处理/ DOM集成示例,例如SelectionFlower。 在sketch/pde file中,有一个方法设置称为js形式:
// called from JavaScript
void setSelectionText ( String txt )
{
selectedText = txt;
}
并在js文件中设置超时以确保草图已初始化并可以访问:
var mySketchInstance;
// called once the page has fully loaded
window.onload = function () {
getSketchInstance();
}
// this is called (repeatedly) to find the sketch
function getSketchInstance() {
var s = Processing.instances[0];
if ( s == undefined ) {
setTimeout(getSketchInstance, 200); // try again a bit later
} else {
mySketchInstance = s;
monitorSelection();
}
}
然后当草图实例可用时,您只需在草图上调用方法/函数:
function monitorSelection () {
//bla bla
mySketchInstance.setSelectionText(txt); // set the text in the sketch
}
HTH
答案 1 :(得分:3)
这是我的解决方案。
void waitasec (int sec) {
int minutes = minute();
int seconds = second();
int hour = hour();
int starttime = (hour * 3600) + (minutes * 60) + seconds;
int finaltime = starttime + sec;
while (starttime < finaltime) {
minutes = minute();
seconds = second();
starttime = (hour * 3600) + (minutes * 60) + seconds;
}
}
答案 2 :(得分:2)
资源消耗解决方案:
int timer = 0;
void draw() {
if (timer%50 == 0) {
//some code here
}
timer = timer +1;
}
答案 3 :(得分:0)