p5.js 绘制函数如何工作?
How does the p5.js draw function work?
无法弄清楚我做错了什么。看下面的代码,我的逻辑是每次调用 draw 函数时,椭圆的坐标都会更改为另一个随机数。
然而,不是更改坐标,而是在 'new' 坐标处重新绘制椭圆。
有谁愿意解释一下为什么要重绘而不是移动形状?我正在使用 p5 javascript 库。
var frate = 10;
var elliX = 500;
var elliY = 400;
function setup() {
createCanvas(100, 100);
frameRate(frate);
}
function draw() {
elliX = (random(0,100));
elliY = (random(0,100));
ellipse(elliX, elliY, 30);
}
默认情况下,p5 不会清除 canvas,因此它会在您每次绘制时添加一个新圆圈。要清除,你可以预先调用clear()
,像这样:
var frate = 10;
var elliX = 500;
var elliY = 400;
function setup() {
createCanvas(100, 100);
frameRate(frate);
}
function draw() {
clear();
elliX = (random(0,100));
elliY = (random(0,100));
ellipse(elliX, elliY, 30);
}
<script src="https://unpkg.com/p5@0.6.1/lib/p5.min.js"></script>
无法弄清楚我做错了什么。看下面的代码,我的逻辑是每次调用 draw 函数时,椭圆的坐标都会更改为另一个随机数。
然而,不是更改坐标,而是在 'new' 坐标处重新绘制椭圆。
有谁愿意解释一下为什么要重绘而不是移动形状?我正在使用 p5 javascript 库。
var frate = 10;
var elliX = 500;
var elliY = 400;
function setup() {
createCanvas(100, 100);
frameRate(frate);
}
function draw() {
elliX = (random(0,100));
elliY = (random(0,100));
ellipse(elliX, elliY, 30);
}
p5 不会清除 canvas,因此它会在您每次绘制时添加一个新圆圈。要清除,你可以预先调用clear()
,像这样:
var frate = 10;
var elliX = 500;
var elliY = 400;
function setup() {
createCanvas(100, 100);
frameRate(frate);
}
function draw() {
clear();
elliX = (random(0,100));
elliY = (random(0,100));
ellipse(elliX, elliY, 30);
}
<script src="https://unpkg.com/p5@0.6.1/lib/p5.min.js"></script>