Code viewer for World: The Cube

// Cloned by Ethan Harkin on 5 Nov 2018 from World "One Cube World" by Starter user 
// Please leave this clone trail here.
 

const skycolor          = 'Gold';          // sky color

const objectsize        = 300;                  // size of object   

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

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

const skycolorObject    = new THREE.Color ( skycolor.toLowerCase() );                              

const MUSICFILE = '/uploads/harkine4/Thorn__Shout_-_03_-_Song_for_Bear.mp3';
var music = new Audio ( MUSICFILE );
music.loop = true;                   // loop music forever            
music.play();
AB.standardAudioButtons ( music );   // create standard play and pause buttons

function World() 
{ 
  // the object is a cube (each dimension equal): 
  var shape             = new THREE.SphereGeometry ( objectsize, objectsize, objectsize );
  var theobject         = new THREE.Mesh ( shape );
  
  this.nextStep = function()
    {
        theobject.position.x = theobject.position.x + AB.randomIntAtoB ( -100, 100 );
        theobject.position.y = theobject.position.y + AB.randomIntAtoB ( -100, 100 );
        theobject.position.z = theobject.position.z + AB.randomIntAtoB ( -100, 100 );
    };

  this.newRun = function() 
  {
    // start a 3D scene: 
    ABWorld.init3d ( startRadius, maxRadius, skycolorObject ); 

    // add the object to the scene:
    ABWorld.scene.add(theobject);
    
     
    const texturefile  = "/uploads/harkine4/jonesy.jpg";
    var   loader       = new THREE.TextureLoader();
 
    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 } );
    }); 
  };

}