2D template
with orbitControls, XZgrid, info
by joe chan
HTML
<div id="info">Hw02 2D
</div>
<script src="https://cdnjs.cloudflare.com/ajax/libs/three.js/r70/three.min.js"></script>
<script src="https://jyunming-chen.github.io/tutsplus/js/KeyboardState.js"></script>
CSS
#info {
position: absolute;
top: 0px;
width: 100%;
padding: 10px;
text-align: center;
color: #ffff00
}
body {
overflow: hidden;
}
JavaScript
var camera, scene, renderer;
var satellite, angle = 0;
var mousePoint;
var mouse = new THREE.Vector2();
var pos, vel, force;
var clock = new THREE.Clock();
//var ball;
var dir= Math.PI ;
var keyboard = new KeyboardState();
var stArray = [];
var baseS = 0;
var ballR = 5;
var counter = 0;
init();
animate();
function setUpStArray() {
for (var i = 0; i < 3; i++) {
var row = [];
for (var j = 0; j < 5; j++)
row.push(new THREE.Vector2(j * 0.25, 1 - 0.5 * i));
stArray.push(row);
}
}
function height(x) {
if (x > 20 && x < 100)
return 25
else
return 0
}
function init() {
renderer = new THREE.WebGLRenderer({
antialias: true
});
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(0x888888);
document.body.appendChild(renderer.domElement);
/////
soundtrack = document.getElementById('soundtrack');
////
pos = new THREE.Vector3(0, 40, 0);
vel = new THREE.Vector3(0, 0, 0);
scene = new THREE.Scene();
camera = new THREE.OrthographicCamera(-50, 50, 80, -20, -10, 100);
camera.position.z = 10;
camera.position.x = 0;
scene.add(camera);
///////////////////////////////////////////
THREE.ImageUtils.crossOrigin = '';
texture = THREE.ImageUtils.loadTexture('https://i.imgur.com/nMlJ4uv.jpg');
texture.wrapS = THREE.RepeatWrapping;
var texMat = new THREE.MeshBasicMaterial({
map: texture
});
for (var i = 0; i < 5; i++) {
var background = new THREE.Mesh(new THREE.PlaneGeometry(100, 100), texMat);
background.position.y = 30;
background.position.x = i * 100;
scene.add(background);
}
////////////////////////////////////////////////////////////////////////////////////////////
setUpStArray();
THREE.ImageUtils.crossOrigin = '';
textureball = THREE.ImageUtils.loadTexture('https://i.imgur.com/skGgwyl.png');
textureball.wrapS = THREE.RepeatWrapping;
// setting up texMat
var texMatball = new THREE.MeshBasicMaterial({
map: textureball,
...