// Cloned by Eoghan on 16 Sep 2025 from World "One Cube World (P5)" by Starter user
// Please leave this clone trail here.
// make an array of random (x,y,z) positions
const MUSICFILE = '/uploads/eoghan/TheKillers-Mr.Brightside.mp3'; //Music Time
AB.backgroundMusic ( MUSICFILE );
function getRandomInt(max) {
return Math.floor(Math.random() * max);
}
const noboxes = 30; // 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) ];
}
var img;
function preload()
{
img = loadImage ( '/uploads/eoghan/1758018620.png' );
}
const objectsize = 250; // size of object
const anglechange = 0.01; // how much the rotate angle changes each step
var angle = 1; // rotate angle starts at 0
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
{
texture(img);
background("yellow"); // background color
rotateX(angle); // set each dimension rotation angle to "angle"
rotateY(angle);
rotateZ(angle);
for ( var i=0; i < noboxes; i++ )
{
translate ( a[i][0], a[i][1], a[i][2] ); // get box position i
box(objectsize);
}
box(objectsize);
for ( var j=1; j < noboxes; j++ )
{
translate ( a[j][0], a[j][1], a[j][j] ); // get box position i
box(objectsize);
}
box(objectsize);
angle = angle + anglechange + 0.2 ; // change angle each step to get rotate movement
}