javascript - p5.js 控制我播放的帧数
问题描述
我想控制draw()
被调用的次数,基本上让我们想象一下我有那个基本代码:
var e = 1;
function setup() {
window.canvas = createCanvas(200, 200);
}
function draw() {
fill(255, 255, 0);
ellipse(50 + e, 50, 30);
e++;
}
我想创建一个moveOneStep()
激活draw()
一次的函数,所以假设我正在执行 5 次 for 循环,然后 draw 将被调用 5 次,圆圈将向右移动 5 步(像素),
怎么做到呢?
解决方案
您想修复代码中的帧速率还是draw()
在特定时间调用函数?如果是这种情况,我认为你不能,因为绘图功能是,如文档中所述
draw() 函数连续执行其块中包含的代码行,直到程序停止或调用 noLoop()
但是如果你想固定帧率,你可以frameRate(number)
在 setup() 函数中调用。因此,现在如果您想draw()
每秒调用 30 次(或 30 fps 用于游戏参考),您的代码将如下所示。
var e = 1;
function setup() {
window.canvas = createCanvas(200, 200);
frameRate(30);
}
function draw() {
fill(255, 255, 0);
ellipse(50 + e, 50, 30);
e++;
}
检查文档以获取更多参考。
快乐编码^^。
推荐阅读
- python - 同步两个独立进程Python的输出
- python-3.x - 具有固定字典键的 Python 函数返回类型提示
- java - 如何从docker容器中的资源文件夹中读取文件
- java - 实现 builder 方法来序列化 json
- c# - 在 C# 和 SQL Server 中尝试更新同一 ReadCommitted Transaction 上的插入记录时,在更新脚本中找不到任何行
- python - 与我认为是布尔变量的范围的斗争 - tkinter 窗口不会退出
- php - 以编程方式将 Woocommerce 订阅开关添加到购物车
- image - 您可以在 tkinter、python 中删除 PIL 图像上的白色背景吗?
- mysql - 在 EJS 页面而不是 JSON 输出上呈现查询结果
- excel - 在没有数组公式的 Excel 中返回多个唯一匹配项