【问题标题】:time between mouse clicks processing.js鼠标点击之间的时间 processing.js
【发布时间】:2013-03-30 14:30:34
【问题描述】:

我想以毫秒为单位获取连续鼠标单击之间的时间。这是我尝试过的:

void setup(){
  size(512,512);
  background(100,100,0);
}

void draw(){
}

void mousePressed(){
  println(new Date() - oldtime);
  var oldtime=new Date();
  }

问题似乎是 processing.js 不记得调用 mousePressed() 之间的 oldtime 值。

在第一次调用时,之前没有鼠标点击,oldtime 未定义,时间应该是 NaN。但是在第一次点击之后,oldtime 就设置好了,所以上面应该可以工作。我试过做

var oldtime=new Date();

在 mousePressed() 之外,这样第一次调用就不会是 NaN,但没有运气。

非常感谢您的帮助。

============================

问题与变量“范围”有关。现在可以使用了

var oldtime=new Date();

void setup(){
  size(512,512);
  background(100,100,0);
}

void draw(){
}

void mousePressed(){
  println(new Date() - oldtime);
  oldtime=new Date();
  }

【问题讨论】:

  • 连续三次点击 c1, c2, c3, 什么?
  • 这个程序将打印当前点击和之前的点击之间的时间:

标签: processing.js


【解决方案1】:

有一个内置的方法/函数,称为millis(),无需使用 Date 类。也没有理由调用 var。我还将在 setup 方法中初始化您的类和变量。以下是这些更改在处理语法时在您的代码中的外观:

int oldtime;

void setup(){
  size(512,512);
  background(100,100,0);
  oldtime = millis()
}

void draw(){
}

void mousePressed(){
  println(millis() - oldtime);
  oldtime = millis()
}

如果您熟悉 JavaScript,您可能会发现直接在 javascript 中使用处理很有用。这样就可以轻松混合和匹配您需要的内容并使用标准的 JavaScript 调试工具。这里有一个很棒的教程:

http://processingjs.org/articles/jsQuickStart.html#javascriptonlyprocessingcode

【讨论】:

    猜你喜欢
    • 2022-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多