summaryrefslogtreecommitdiff
path: root/main.ts
diff options
context:
space:
mode:
authorJ08nY2016-04-16 06:41:19 +0200
committerJ08nY2016-04-16 06:41:19 +0200
commit98dabd8fec5d2930add944997577a5f702013736 (patch)
tree24798a75df26cf252be1044a586cfe0d3604d4fa /main.ts
parent6c5bbc5fa0bad633325fc3901a3c72c2c0ad64a5 (diff)
downloadld35-98dabd8fec5d2930add944997577a5f702013736.tar.gz
ld35-98dabd8fec5d2930add944997577a5f702013736.tar.zst
ld35-98dabd8fec5d2930add944997577a5f702013736.zip
Diffstat (limited to 'main.ts')
-rw-r--r--main.ts68
1 files changed, 67 insertions, 1 deletions
diff --git a/main.ts b/main.ts
index a029f8d..757c4b8 100644
--- a/main.ts
+++ b/main.ts
@@ -1 +1,67 @@
-/// <reference path="three.js/ts/three.d.ts"/>
+/// <reference path="three_js/ts/three.d.ts"/>
+/// <reference path="three_js/ts/detector.d.ts"/>
+
+import {Player} from "./Player";
+import {World} from "./World";
+
+export class Game {
+ renderer:THREE.WebGLRenderer;
+ scene:THREE.Scene;
+ camera:THREE.PerspectiveCamera;
+ player:Player;
+ world:World;
+ private ticks:number;
+ private running:boolean;
+
+ constructor() {
+ this.renderer = new THREE.WebGLRenderer({
+ antialias: true
+ });
+ this.renderer.setClearColor(0xffffff);
+ this.renderer.setPixelRatio(window.devicePixelRatio);
+ this.renderer.setSize(window.innerWidth, window.innerHeight);
+ document.body.appendChild(this.renderer.domElement);
+
+ this.scene = new THREE.Scene();
+ this.camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 1, 1000);
+ }
+
+ init():void {
+ //init world
+ this.player = new Player();
+ this.world = new World(this.player, this.scene, this.camera);
+ //init camera
+
+ }
+
+ render():void {
+ this.renderer.render(this.scene, this.camera);
+ }
+
+ tick():void {
+ this.ticks++;
+
+ }
+
+ run():void {
+ this.running = true;
+ while (this.running) {
+ this.tick();
+ let shouldRender = true;
+ if (shouldRender) {
+ this.render();
+ }
+ }
+ }
+
+}
+
+if (!Detector.webgl) {
+ Detector.addGetWebGLMessage();
+}
+
+window.onload = () => {
+ var game = new Game();
+ game.init();
+ game.run();
+}; \ No newline at end of file