Code viewer for World: week1.2 One Cube World (P5)

// Cloned by Meenu Mathew on 30 Sep 2021 from World "week1.1 One Cube World (P5) " by Meenu Mathew 
// Please leave this clone trail here.
 


// Cloned by Meenu Mathew on 30 Sep 2021 from World "One Cube World (P5)" by Starter user 
// Please leave this clone trail here.
 
 
const objectsize    = 50;      // size of object   

const anglechange   = 0.05;     // how much the rotate angle changes each step 

var angle           = 0;                  // rotate angle starts at 0  
var img;
const bgmusic       ='/uploads/starter/SuspenseStrings.mp3';
//add bg music 
AB.backgroundMusic(bgmusic);

// make an array of random (x,y,z) positions 
const noboxes       = 100;                 	// how many boxes to have 
var a               = new Array(noboxes);         	// array of the box positions

for ( var i=0; i < noboxes; i++ )   	// set up the array
{
    a[i] = [ AB.randomIntAtoB(-500,500), AB.randomIntAtoB(-500,500), AB.randomIntAtoB(-500,500) ];
}	


function setup()        // "setup" is called once at start of run 
{
  createCanvas ( ABWorld.fullwidth(), ABWorld.fullheight(),  WEBGL );
}


/*Called directly before setup(), the preload() function is used to handle asynchronous loading of external files in a blocking way. 
If a preload function is defined, setup() will wait until any load calls within have finished.*/

function preload()
{
    img=loadImage('uploads/meenumathew/butterfly.jpeg');
}

/*"draw" is called every timestep during run Called directly after setup(), 
the draw() function continuously executes the lines of code contained inside its block until the program is stopped or noLoop() is called. */



function draw()  
{
    background("lightblue");    // background color 
    //fill("lightpink");            // paint box with this color 
    texture(img);               //fill with image
           
    rotateX(angle);             // set each dimension rotation angle to "angle"
    rotateY(angle);
    rotateZ(angle);
  
   
     
  //to make another object
   for ( var i=0; i < noboxes; i++ )
   {
        translate ( a[i][0], a[i][1], a[i][2] );		// get box position i 
        box(objectsize);             
   }
     
    angle = angle + anglechange ;       // change angle each step to get rotate movement
}