Используя p5.js и d3.js для отображения, я загрузил карту США с конкретными округами в setup()
на холсте.Загрузка занимает около 1/2 - 1 секунды, потому что шейп-файл довольно большой
В draw()
я создаю текст, эллипсы и т. Д., Которые я хочу обновить с помощью ползунков, и, вероятно, создамнекоторая дополнительная анимация.
Обычно в p5.js вы можете просто использовать background(255)
сразу после draw()
, чтобы стереть все, и сделать переходы плавными, чтобы ничего не перекрывалось, старые эллипсы и текст не стирались,и т. д.
Проблема, с которой я столкнулся, заключается в том, что моя исходная карта слишком дорога для загрузки, я не могу стереть ее и перерисовать каждый кадр, он отстает от всех.Мне нужно нарисовать карту один раз, а затем по существу сделать фон (255) для всех других элементов, кроме карты, или в основном очистить все, что создано в draw () каждый кадр, оставляя карту, которую я создал в setup () нахолст.Или просто очистите все элементы, кроме карты.
Ниже приведен гипотетический код, который я сделал в редакторе p5.Прямоугольник на заднем плане является заполнителем для карты.Вы можете видеть, что, поскольку текст и эллипсы не стираются, они перекрываются, и как только эллипсы достигают определенного размера, вы не можете уменьшить их размер, потому что остаются большие.
https://editor.p5js.org/dfeusse/sketches/HkJe2Kj9m
Ниже приведен пример использования background()
, который делает код p5.js идеальным и чистым, но созданный в настройке прямоугольник (т. Е. Карта), очевидно, стирается и исчезает.
https://editor.p5js.org/dfeusse/sketches/HJWtr5oqQ
Есть ли способ сохранить один элемент на холсте при рисовании поверх всех других элементов, например, концептуальное использование фона, очистка или какой-то другой метод, о котором я, очевидно, не знаю?Спасибо за любые мысли и помощь!
Ниже приведен скриншот, на котором вы можете увидеть карту, которую я рисую, в основном такую же, как прямоугольник заполнителя, и пытающийся изменить эллипсы с помощью ползунков.![enter image description here](https://i.stack.imgur.com/XZTor.png)