如何在 Javascript 中创建一个保持不变且不会改变的随机数?

我试图在屏幕上绘制一些在初始化后不会移动的圆圈。现在,它不断地将它们绘制到屏幕上,而不是将它们保留在那里。这是代码:


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 库一起使用的)


人到中年有点甜
浏览 130回答 1
1回答

凤凰求蛊

听起来你的代码在draw()函数中,该函数每秒被调用多次。由于您random()每次调用,它每次都会创建新参数。相反,您应该将参数分配给其他地方的变量(例如在函数中setup),然后在绘图函数中使用这些参数。就像是:var ellipses = [];function setup() {&nbsp; createCanvas(640, 480);&nbsp; for (let i = 0; i < 1; i++) {&nbsp; &nbsp; ellipses.push({&nbsp; &nbsp; &nbsp; r: random(100, 300),&nbsp; &nbsp; &nbsp; r2: random(300, 100),&nbsp; &nbsp; &nbsp; rS: random(50, 250),&nbsp; &nbsp; &nbsp; rS2: random(250, 50)&nbsp; &nbsp; });&nbsp; }&nbsp;&nbsp;}function draw() {&nbsp; clear();&nbsp; //location&nbsp; //draw the ellipse with parameters&nbsp; ellipses.forEach(function (e) {&nbsp; &nbsp; ellipse(e.r, e.r2, e.rS, e.rS2);&nbsp; })}<script src="https://unpkg.com/p5@1.1.9/lib/p5.min.js"></script>
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript