我使用p5.js是为了构建一些想法的原型,但由于p5.js并不是真正使用实际的HTML绘制内容(据我所知,它使用的是画布),所以它不包括可选文本之类的内容。我想要达到的效果是不断变化的( DOM元素的CSS会不断变化),有没有办法让我可以像p5.js的update函数那样,每“帧”改变一次CSS函数?
发布于 2020-04-22 18:21:07
坚持使用p5
如果你习惯于使用p5,你可以坚持使用它。下面是文档中关于style()函数功能的演示:
https://p5js.org/reference/#/p5.Element/style
您会注意到,它使用了另一个p5函数createDiv()来创建html div (您可以更改其内容),我认为它本身就是JavaScript的createElement的包装器。
https://p5js.org/reference/#/p5/createDiv
在我看来,在你开始学习一些新的东西之前,搜索你已经使用过的库的文档总是值得的。
如果p5绝对不是你想要的方式(也许你没有使用它80%的功能),我在评论中提到了另外两种方法。
requestAnimationFrame
requestAnimationFrame将与屏幕的刷新率和计算机的处理器同步,以创建尽可能流畅的动画。如果你想让动画看起来超级平滑,这对很多动画都很有用。
function animationFunction(){
// Put your logic here:
// this makes the function repeat again
requestAnimationFrame(animationFunction);
}
// this "kicks it off"
requestAnimationFrame(animationFunction);setInterval
Set interval接受一个函数作为第一个参数,接受一个毫秒数作为第二个参数,因此对于需要显式设置“帧”之间的长度的参数来说,这更好。
let numberOfMillisecondsBetweenEachFrame = 300;
setInterval(function(){
// Put your logic here
}, numberOfMillisecondsBetweenEachFrame);下面是两种方法的示例:
https://stackoverflow.com/questions/61354324
复制相似问题