更改正在运行的处理动画的帧速率

时间:2014-03-13 22:09:23

标签: javascript processing

我使用processing.js

定义了在浏览器中运行的处理动画

我想从"外部"更改动画的frame rate。使用javascript。 这有可能吗?如果是这样 - 怎么样?

3 个答案:

答案 0 :(得分:4)

我找到了解决方案 - 这是微不足道的。 Processing.js实际上将处理方法暴露给javascript实例,因此您只需编写:

p = Processing.getInstanceById('#canvas-id')
p.frameRate(20)
动画开始后很长时间

答案 1 :(得分:0)

处理具有帧率功能,请将其检出http://www.processing.org/reference/frameRate_.html

答案 2 :(得分:0)

嘿,我在Processing 2.2.1中遇到了同样的问题(没有在浏览器中运行我的程序)。

尝试访问frameRate本身一天后,我发现你可以通过按键重新启动setup()。只要屏幕上发生变化的所有内容都是全局变量或draw(),你就不会注意到一个变化,除了一点闪烁(我正在构建一个鼓机)。

int tempo = 90;

void setup() {
  size(1000,600);
  frameRate((tempo / 60.0)*4.0);
}

void draw() {
  //whatever;
}

void keyPressed() {
  //+/- to control tempo (framerate)
    case '+':
      tempo += 1;
      setup();
      break;
    case '-':
      tempo -= 1;
      setup();
      break;
  }