示例#1
0
        /// <summary>
        ///     Se llama una sola vez, al principio cuando se ejecuta el ejemplo.
        ///     Escribir aquí todo el código de inicialización: cargar modelos, texturas, modifiers, uservars, etc.
        ///     Borrar todo lo que no haga falta.
        /// </summary>
        public override void Init()
        {
            //Device de DirectX para crear primitivas
            var d3dDevice = D3DDevice.Instance.Device;

            //Piso la camara que viene por defecto con la que yo quiero usar.
            //Configurar centro al que se mira y distancia desde la que se mira
            Camara = new TgcRotationalCamera(new Vector3(), 50f, Input);

            //Textura de la carperta Media
            var pathTexturaCaja = MediaDir + Game.Default.TexturaCaja;

            //Cargamos una textura
            var texture = TgcTexture.createTexture(pathTexturaCaja);

            //Creamos una caja 3D ubicada en (0, 0, 0), dimensiones (5, 10, 5) y la textura como color.
            var center = new Vector3(0, 0, 0);
            var size   = new Vector3(5, 10, 5);

            Box = TgcBox.fromSize(center, size, texture);

            //Cargo el unico mesh que tiene la escena
            Mesh = new TgcSceneLoader().loadSceneFromFile(MediaDir + "LogoTGC-TgcScene.xml").Meshes[0];
            //Escalo el mesh que es muy grande
            Mesh.Scale = new Vector3(0.5f, 0.5f, 0.5f);
        }
        /// <summary>
        ///     Se llama una sola vez, al principio cuando se ejecuta el ejemplo.
        ///     Escribir aquí todo el código de inicialización: cargar modelos, texturas, estructuras de optimización, todo
        ///     procesamiento que podemos pre calcular para nuestro juego.
        ///     Borrar el codigo ejemplo no utilizado.
        /// </summary>
        public override void Init()
        {
            //startGame();

            var d3dDevice = D3DDevice.Instance.Device;

            sonido   = new Sonido(MediaDir, ShadersDir, DirectSound);
            messages = new PrintMessageText(this);

            //Carga la estructura de la ciudad
            manejadorDeColiciones  = new ManejadorDeColisiones();
            controladorDeVehiculos = new ControladorDeVehiculos(this);
            Ciudad = new Ciudad(this);

            cronometro = new Cronometro(300000, this);
            //sonidos.startGame();
            iniciarIluminacion();

            TgcD3dInput input = new TgcD3dInput();

            Input = input;

            camaraRotante = new TgcRotationalCamera(
                new Vector3(3000, 5, 3000), 2000, 0.15f, 10f, base.Input);

            camaraMenu = new CamaraTerceraPersona(new Vector3(5500, 800, 5500), 900, 3600f);

            this.Camara = camaraRotante;
            //camaraRotante.SetCamera(new Vector3(500, 700, 500),
            //                         new Vector3(3000, 50, 3000));

            //Creamos una caja 3D con textura
            var center  = new Vector3(3000, 200, 4500);
            var texture = TgcTexture.createTexture(MediaDir + "Menu\\COMENZAR.png");

            boxComenzar = TgcBox.fromSize(center, new Vector3(250, 50, 50), texture);
            boxComenzar.AutoTransformEnable = false;

            // Creamos una caja 3D con textura
            center       = new Vector3(3000, 140, 4500);
            texture      = TgcTexture.createTexture(MediaDir + "Menu\\PERSONAJE.png");
            boxPersonaje = TgcBox.fromSize(center, new Vector3(250, 50, 50), texture);
            boxPersonaje.AutoTransformEnable = false;

            // Creamos una caja 3D con textura
            center   = new Vector3(3000, 80, 4500);
            texture  = TgcTexture.createTexture(MediaDir + "Menu\\SALIR.png");
            boxSalir = TgcBox.fromSize(center, new Vector3(250, 50, 50), texture);
            boxSalir.AutoTransformEnable = false;

            boxComenzar.Position = new Vector3(5500, 850, 5600);
            boxComenzar.rotateY(FastMath.PI);
            boxPersonaje.Position = new Vector3(5500, 750, 5600);
            boxPersonaje.rotateY(FastMath.PI);
            boxSalir.Position = new Vector3(5500, 650, 5600);
            boxSalir.rotateY(FastMath.PI);

            var loader = new TgcSceneLoader();
            var scene  = loader.loadSceneFromFile(MediaDir + "MeshCreator\\Meshes\\Vehiculos\\Hummer\\Hummer-TgcScene.xml");

            personaje1 = scene.Meshes[0];
            personaje1.AutoTransformEnable = false;
            personaje1.Position            = new Vector3(5400, 800, 5700);

            scene      = loader.loadSceneFromFile(MediaDir + "MeshCreator\\Meshes\\Vehiculos\\Auto\\Auto-TgcScene.xml");
            personaje2 = scene.Meshes[0];
            personaje2.AutoTransformEnable = false;
            personaje2.Position            = new Vector3(5200, 800, 5700);

            scene      = loader.loadSceneFromFile(MediaDir + "MeshCreator\\Meshes\\Vehiculos\\Patrullero\\Patrullero-TgcScene.xml");
            personaje3 = scene.Meshes[0];
            personaje3.AutoTransformEnable = false;
            personaje3.Position            = new Vector3(5000, 800, 5700);

            scene      = loader.loadSceneFromFile(MediaDir + "MeshCreator\\Meshes\\Vehiculos\\Warthog\\Warthog-TgcScene.xml");
            personaje4 = scene.Meshes[0];
            personaje4.AutoTransformEnable = false;
            personaje4.Position            = new Vector3(5000, 800, 5700);

            TwistedMetal.inicializado = true;

            /*controladorDeVehiculos.crearAutoPrincipal();
             * controladorDeVehiculos.crearEnemigo1();
             * autoPrincipal = controladorDeVehiculos.getAutoPrincipal();
             *
             */

            //niebla = new Niebla(this);
            // niebla.CargarCamara(controladorDeVehiculos.getAutoPrincipal().getCamara());
            //  niebla
            //     controladorDeVehiculos.addToColisionador(manejadorDeColiciones);//por ahora los autos no colisionan
            //cargarShaders();
        }