我试图在屏幕上绘制一些在初始化后不会移动的圆圈。现在,它不断地将它们绘制到屏幕上,而不是将它们保留在那里。这是代码:for (let i = 0; i < 1; i++) { //location const r = random(100, 900); const r2 = random(900, 100); //size const rS = random(50, 250); const rS2 = random(250, 50); //draw the ellipse with parameters ellipse(r, r2, rS, rS2); }(这是与 p5.js 库一起使用的)
1 回答
凤凰求蛊
TA贡献1825条经验 获得超4个赞
听起来你的代码在draw()函数中,该函数每秒被调用多次。由于您random()每次调用,它每次都会创建新参数。相反,您应该将参数分配给其他地方的变量(例如在函数中setup),然后在绘图函数中使用这些参数。就像是:
var ellipses = [];
function setup() {
createCanvas(640, 480);
for (let i = 0; i < 1; i++) {
ellipses.push({
r: random(100, 300),
r2: random(300, 100),
rS: random(50, 250),
rS2: random(250, 50)
});
}
}
function draw() {
clear();
//location
//draw the ellipse with parameters
ellipses.forEach(function (e) {
ellipse(e.r, e.r2, e.rS, e.rS2);
})
}
<script src="https://unpkg.com/p5@1.1.9/lib/p5.min.js"></script>
添加回答
举报
0/150
提交
取消