// Cloned by James Humphrys on 25 May 2018 from World "One Cube World" by Starter user
// Please leave this clone trail here.
const skycolor = 'darkgreen'; // sky color
const objectsize = 250; // size of object
const startRadius = 5000; // distance from centre we start the camera at
const maxRadius = startRadius * 1000; // maximum distance from camera we render things
threehandler.MAXCAMERAPOS = maxRadius;
const skycolorObject = new THREE.Color ( skycolor.toLowerCase() );
function World()
{
// the object is a cube (each dimension equal):
var shape = new THREE.SphereGeometry ( 250, objectsize, 750 );
var theobject = new THREE.Mesh ( shape );
this.newRun = function()
{
// start a 3D scene:
threeworld.init3d ( startRadius, maxRadius, skycolorObject );
// add the object to the scene:
threeworld.scene.add(theobject);
const texturefile = "/uploads/james/explosion.jpg";
var texture = new THREE.ImageUtils.loadTexture ( texturefile );
texture.minFilter = THREE.LinearFilter;
theobject.material = new THREE.MeshBasicMaterial ( { map: texture } );
const themusic = '/uploads/james/Broke_For_Free_-_01_-_Night_Owl.mp3';
var a = new Audio ( themusic );
a.loop = true; // loop the music forever
a.play();
};
function randomAtoB ( A, B ) // function to return random number from A to B
{
return ( A + ( Math.random() * (B-A) ) ); // Math.random() gives random real number from 0 to 1
}
this.nextStep = function()
{
//console.log (theobject.position);
theobject.position.x = theobject.position.x + randomAtoB ( -300, 300 );
theobject.position.y = theobject.position.y + randomAtoB ( 300, -300 );
theobject.position.z = theobject.position.z + randomAtoB ( -300, 300 );
};
}