人到中年有點甜
2023-08-24 21:05:01
我試圖在屏幕上繪制一些在初始化后不會移動的圓圈?,F在,它不斷地將它們繪制到屏幕上,而不是將它們保留在那里。這是代碼: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/[email protected]/lib/p5.min.js"></script>
添加回答
舉報
0/150
提交
取消