I believe this is the issue since all the images get drawn on the same place during one frame, having the result that you only see the top image (last one of the array).
I suggest making a float counter and rounding that to an int. then just make the counter every frame something like .1 bigger the after a few frames it will get rounded to a new number giving you a new image
<PImage explosions = new PImage[6];
float counter = 0;
void draw(){
counter += .1;
int i = round(counter);
image(explosions[i],0,0);
if(counter > 5.4){ //higher then 5.4 would get rounded to six which is out of your array
counter = 0; // reset counter
}
}/>
Sorry if the code doesn’t show up properly this is my first time posting code on this forum