// Cloned by Joe Rathborne on 6 Nov 2018 from World "One Cube World" by Starter user
// Please leave this clone trail here.
const skycolor = 'Cyan'; // sky color
const objectsize = 200; // size of object
const startRadius = 1500; // 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/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
function World()
{
// the object is a cube (each dimension equal):
var shape = new THREE.BoxGeometry ( objectsize, objectsize, objectsize );
var theobject = new THREE.Mesh ( shape );
this.newRun = function()
{
// start a 3D scene:
ABWorld.init3d ( startRadius, maxRadius, skycolorObject );
// add the object to the scene:
ABWorld.scene.add(theobject);
AB.clockTick = 500;
const texturefile = "/uploads/joerathborne/0.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 } );
});
};
var i = 0;
this.nextStep = function()
{
if (i < 1)
{
theobject.position.x = theobject.position.x + 700;
const texturefile = "/uploads/joerathborne/1.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 } );
});
}
else if (i == 1)
{
theobject.position.y = theobject.position.y + 700;
const texturefile = "/uploads/joerathborne/2.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 } );
});
}
else if (i == 2)
{
theobject.position.z = theobject.position.z + 700;
const texturefile = "/uploads/joerathborne/3.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 } );
});
}
else if (i % 6 == 3)
{
theobject.position.x = theobject.position.x - 1400;
const texturefile = "/uploads/joerathborne/4.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 } );
});
}
else if (i % 6 == 4)
{
theobject.position.y = theobject.position.y - 1400;
const texturefile = "/uploads/joerathborne/5.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 } );
});
}
else if (i % 6 == 5)
{
theobject.position.z = theobject.position.z - 1400;
const texturefile = "/uploads/joerathborne/6.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 } );
});
}
else if (i % 6 === 0)
{
theobject.position.x = theobject.position.x + 1400;
const texturefile = "/uploads/joerathborne/7.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 } );
});
}
else if (i % 6 == 1)
{
theobject.position.y = theobject.position.y + 1400;
const texturefile = "/uploads/joerathborne/8.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 } );
});
}
else if (i % 6 == 2)
{
theobject.position.z = theobject.position.z + 1400;
const texturefile = "/uploads/joerathborne/9.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 } );
});
}
i++;
};
}