GAMEHW2
with orbitControls, XZgrid, info
by Alvin Chen
HTML
<div id="info">HW2
</div>
<p id="cameraX"><p>
<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;
}
#cameraX{
position:absolute;
bottom:-220px;
padding: 240px;
width:100%;
color : #ffff00
}
JavaScript
var camera, scene, renderer;
var satellite, angle = 0;
var mousePoint;
var mouse = new THREE.Vector2();
//var stats;
var pos, vel, force;
var clock = new THREE.Clock();
var ball;
var planeP = new THREE.Vector3(10, 0, 0);
var planeN = new THREE.Vector3(0, 1, 0);
var keyboard = new KeyboardState();
var jump1 = false;
var jump2 = false;
var move = false;
var ballR = 4;
init();
animate();
function init() {
renderer = new THREE.WebGLRenderer({
antialias: true
});
pos = new THREE.Vector3(-20, 40, 0);
vel = new THREE.Vector3(5, 0, 0);
renderer.setSize(window.innerWidth, window.innerHeight);
renderer.setClearColor(0x888888);
document.body.appendChild(renderer.domElement);
scene = new THREE.Scene();
camera = new THREE.OrthographicCamera(-50, 50, 80, -15, -10, 100);
camera.position.z = 0;
scene.add(camera);
THREE.ImageUtils.crossOrigin = '';
var texture = THREE.ImageUtils.loadTexture('https://i.imgur.com/yFizws8.jpg');
for (var i = 0; i < 6; i++){
var background = new THREE.Mesh (new THREE.PlaneGeometry (100,100), new THREE.MeshBasicMaterial({map:texture}));
background.position.y = 28.7;
background.position.x = i*100;
scene.add (background);
}
ball = new THREE.Mesh(new THREE.CircleGeometry(ballR, 20), new THREE.MeshBasicMaterial({
color: 0xEA7500
}));
scene.add(ball);
ball.position.y = 30;
window.addEventListener('resize', onWindowResize, false);
// window.addEventListener('mousedown', onDocumentMouseDown, false);
}
function onWindowResize() {
camera.aspect = window.innerWidth / window.innerHeight;
camera.updateProjectionMatrix();
renderer.setSize(window.innerWidth, window.innerHeight);
}
function animate() {
var dt = clock.getDelta();
keyboard.update();
// force: add gravity first
if (keyboard.down ('up')) {
if(jump1==true){
vel.y += 50;
jump2 = true;
}
else if(jump2==true){
vel.y+=50;
jump2 =false;
}
}
if (keyboard.pressed ('right')) {
...