Tfe

Ongi etorri tfe-ren webgunera...

Old stuff/old_sites/threejs/8_perso_move_click/js/World.js

(Deskargatu)
var World = Class.extend({

    var scene, lock, SCREEN_HEIGHT, SCREEN_HEIGHT, camera, renderer;

    init: function(parent_dom)
    {
        scene = new THREE.Scene();
        clock  = new THREE.Clock();
        SCREEN_WIDTH = window.innerWidth;
        SCREEN_HEIGHT = window.innerHeight;
        camera = new THREE.PerspectiveCamera( 75, window.innerWidth / window.innerHeight, 0.1, 1000 );

        renderer = new THREE.WebGLRenderer({ antialias:true});
                        renderer = new THREE.WebGLRenderer( { antialias: true } );
                        renderer.setClearColor( scene.fog.color );
                        renderer.setPixelRatio( window.devicePixelRatio );
                        renderer.setSize( SCREEN_WIDTH, SCREEN_HEIGHT );
                        renderer.domElement.style.position = "relative";
        parent_dom.appendChild( renderer.domElement );
    },

    create_room: function()
    {
        var ground = new THREE.PlaneGeometry(512, 1024),
            height = 128,
            walls = [
                    new THREE.PlaneGeometry(ground.height, height),
                    new THREE.PlaneGeometry(ground.width, height),
                    new THREE.PlaneGeometry(ground.height, height),
                    new THREE.PlaneGeometry(ground.width, height)
            ],
            obstacles = [
                    new THREE.CubeGeometry(64, 64, 64)
            ],
            // Set the material, the "skin"
            material = new THREE.MeshLambertMaterial(args),
            i;
        // Set the "world" modelisation object
        this.mesh = new THREE.Object3D();
        // Set and add the ground
        this.ground = new THREE.Mesh(ground, material);
        this.ground.rotation.x = -Math.PI / 2;
        this.mesh.add(this.ground);
        // Set and add the walls
        this.walls = [];
        for (i = 0; i < walls.length; i += 1) {
            this.walls[i] = new THREE.Mesh(walls[i], material);
            this.walls[i].position.y = height / 2;
            this.mesh.add(this.walls[i]);
        }
        this.walls[0].rotation.y = -Math.PI / 2;
        this.walls[0].position.x = ground.width / 2;
        this.walls[1].rotation.y = Math.PI;
        this.walls[1].position.z = ground.height / 2;
        this.walls[2].rotation.y = Math.PI / 2;
        this.walls[2].position.x = -ground.width / 2;
        this.walls[3].position.z = -ground.height / 2;
        // Set and add the obstacles
        this.obstacles = [];
        for (i = 0; i < obstacles.length; i += 1) {
            this.obstacles[i] = new THREE.Mesh(obstacles[i], material);
            this.mesh.add(this.obstacles[i]);
        }
        this.obstacles[0].position.set(0, 32, 128);
    },

    getObstacles: function () {
        'use strict';
        return this.obstacles.concat(this.walls);
    }
});