Не удается загрузить анимацию с использованием начального и конечного кадров [P5.Воспроизведение]

#p5.js

Вопрос:

Я пытаюсь загрузить анимацию в режиме предварительной загрузки, используя начальный кадр и конечный кадр, как P5.Ссылка на воспроизведение указывает, и она загружает только первый и последний кадр вместо предварительного заполнения всех кадров между ними. Это не было бы проблемой для анимации с 15 или около того кадрами, но у меня есть несколько с 80 .

 function preload() {  chargeExplosion = loadAnimation('assets/chargeExplosion/frame0000.png', 'assets/chargeExplosion/frame0081.png'); }  function setup() {  createCanvas(500, 500) }  function draw() {  explosion1 = createSprite(width / 2, height / 2, 40, 40);  explosion1.addAnimation('boom', chargeExplosion); }  

Этот код чрезмерно упрощен, так как у меня более нескольких сотен строк кода, но я убедился, что абсолютно ничто не мешает. Анимация работала нормально, когда я предварительно загружал каждый отдельный кадр по отдельности, я просто действительно не хочу делать это для остальных.

Ответ №1:

  1. Спрайты в p5.play являются постоянными. Вы хотите создать их во время настройки (или, возможно, в ответ на какое-то событие).
  2. Чтобы отобразить созданные вами спрайты, вам необходимо вызвать drawSprites()
 let chargeExplosion; let explosion1;  function preload() {  chargeExplosion = loadAnimation('https://www.paulwheeler.us/files/AnimFrame00.png', 'https://www.paulwheeler.us/files/AnimFrame02.png'); }  function setup() {  createCanvas(windowWidth, windowHeight);  explosion1 = createSprite(width / 2, height / 2, 40, 40);  chargeExplosion.frameDelay = 30;  explosion1.addAnimation('boom', chargeExplosion); }  function draw() {  background(220);   drawSprites(); } 
 <script src="https://cdnjs.cloudflare.com/ajax/libs/p5.js/1.4.0/p5.js"></script> <script src="https://www.paulwheeler.us/files/p5.play.js?r=0"></script>