Не могу понять, что я делаю неправильно. Глядя на код ниже, моя логика заключается в том, что каждый раз, когда вызывается функция draw, координаты эллипса изменяются на другое случайное число.
Однако вместо измененных координат эллипс просто перерисовывается в "новых" координатах.
Кто-нибудь хочет пролить свет на то, почему фигура перерисовывается, а не перемещается? Я использую javascript-библиотеку p5.
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 не очищает холст по умолчанию, поэтому он добавляет новый круг каждый раз, когда вы рисуете. Чтобы очистить, вы можете позвонить 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/[email protected]/lib/p5.min.js"></script>
background()
.