const MUSICFILE = '/uploads/starter/SuspenseStrings.mp3';
var music = new Audio ( MUSICFILE );
music.loop = true; // loop music forever
music.play();
AB.standardAudioButtons ( music ); // create standard play and pause buttons
// Insert this code at the top:
const noboxes = 2000; // 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) ];
// each entry of the array is a random (x,y,z) position
// (an array of three random numbers)
}
var img;
function preload()
{
img = loadImage ( "/uploads/test2/8455801596.png" );
}
// Cloned by test2 on 7 Dec 2018 from World "One Cube World (P5)" by Starter user
// Please leave this clone trail here.
var angle = 0; // rotate angle starts at 0
const objectsize = 120; // size of object
const anglechange = 0.011; // how much the rotate angle changes each step
function setup() // "setup" is called once at start of run
{
createCanvas ( ABWorld.fullwidth(), ABWorld.fullheight(), WEBGL );
}
function draw() // "draw" is called every timestep during run
{
background("lightgreen"); // background color
// fill("navy"); // paint box with this color
texture(img);
rotateX(angle); // set each dimension rotation angle to "angle"
rotateY(angle);
rotateZ(angle);
/*
box(objectsize ); // draw a cube of this size
translate( objectsize*2 , objectsize*2, objectsize*2);
box(objectsize);
translate( objectsize*2 , objectsize*2, objectsize*2);
box(objectsize); */
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
}