Code viewer for World: One Cube World (Three.js) ...

// Cloned by Deborah Djon on 29 Sep 2022 from World "One Cube World (Three.js)" by Starter user 
// Please leave this clone trail here.

const MUSICFILE = '/uploads/starter/SuspenseStrings.mp3';
AB.backgroundMusic ( MUSICFILE );

const skycolor          = 'lightgreen';           
const boxcolor          = 'maroon';

const objectsize    = 400;                  // size of object   

const startRadius   = 5000;                 // distance from centre we start the camera at

const maxRadius     = startRadius * 10;     // maximum distance from camera we render things 


// the object is a cube (each dimension equal): 
  
var shape       = new THREE.BoxGeometry ( objectsize, objectsize, objectsize*2 );
var material    = new THREE.MeshBasicMaterial ( { color: boxcolor.toLowerCase() } );
//var material = new THREE.LineBasicMaterial( { color: 0x100000, linewidth: 4 } );
//var wireframe = new THREE.LineSegments( shape, material );
//wireframe.renderOrder = 1; // make sure wireframes are rendered 2nd
var theobject   = new THREE.Mesh ( shape, material );
//theobject.add( wireframe );

const texturefile  = 'uploads/tharealog/1664457627.png';
var   loader       = new THREE.TextureLoader();



// Define what the World does at the start of a run: 

AB.world.newRun = function() 
{
    loader.load ( texturefile, function ( thetexture ) 
// this defines a function to be called whenever the file is loaded 
    {			 
        thetexture.minFilter  = THREE.LinearFilter;
        theobject.material    = new THREE.MeshBasicMaterial ( { map: thetexture } );
    });

    // start a 3D scene: 
    ABWorld.init3d ( startRadius, maxRadius, skycolor ); 

    // add the object to the scene:
    ABWorld.scene.add ( theobject );
};

AB.world.nextStep = function()
{
    theobject.position.x = theobject.position.x + AB.randomIntAtoB ( 0, 30 );        
};