Javascript:如果在绘制循环中条件为真,如何仅增加1(而不是1 + 1 + 1 + 1 + ...)?

时间:2014-06-25 20:48:08

标签: javascript processing

我正在尝试在Processing.js中构建一个应用程序,它每15分钟旋转一个对象数组(现在为秒)。我的想法是每次秒针击中0/15/30/45时只增加索引,但由于它在一个绘制循环内,它在那一秒每帧执行+1次,将我的索引设置为类似,30。我确保只有一个增量通过?

var i = 0;
var draw = function() {
    background(148, 221, 255);
    var s = second();
    var m = minute();
    var h = hour();
    text(h + " : " + m + " : " + s, 5, 395);

    var Rotation = function() {
        if (s === 0 || s === 15 || s === 30 || s === 45) {
            i+= 1;
            Array[i];
        }
    };
    Rotation();
    text(i,50,50);
};

由于

1 个答案:

答案 0 :(得分:3)

添加一个变量,检查当前间隔(0,15,30,45)是否已被使用/设置。

var i = 0;
var last_interval;
var draw = function() {
    background(148, 221, 255);
    var s = second();
    var m = minute();
    var h = hour();
    text(h + " : " + m + " : " + s, 5, 395);

    var Rotation = function() {
        if (s === 0 || s === 15 || s === 30 || s === 45) {
            if(last_interval === undefined || last_interval != s){
                last_interval = s;
                i+= 1;
                Array[i];
            }
        }
    };
    Rotation();
    text(i,50,50);
};