public PantallaInicio()
        {
            //Alto y ancho total de la pantalla
            float screenHeigth = Globales.getInstance().getAltoPantalla();
            float screenWidth = Globales.getInstance().getAnchoPantalla();
             //Coeficientes para la posicion relativa de las fotos de Mario y Luigi
            float xrelatMario = 0.1112f;
            float yrelatAmbos = 0.38f;
            float xrelatLuigi = 0.5631f;
            //Coeficientes absolutos para el escalado de Mario y Luigi
            float xrelat = 0.266f;
            float yrelat = 0.5f;
            //Coeficientes que regulan el tamaño especifico de cada imagen.
            float relatMarioX = xrelat * screenWidth / 480; //Los denominadores son los tamaños de alto y ancho de la imagen.
            float relatMarioY = yrelat * screenHeigth / 480;
            float relatRecux = 0.2904f * screenWidth / 500;
            float relatRecuy = 0.5510f * screenHeigth / 500;
            float relatMKx = 0.18f * screenWidth / 500;
            float relatMKy = 0.25f * screenHeigth / 500;
            float relatInicx = 0.2f * screenWidth / 500;
            float relatInicy = 0.5f * screenHeigth / 500;

            //Se cargan las imágenes que necesita la pantalla, el coso que carga los meshes y el que uso para captar el teclado.
            mario = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\personajes\\mario.jpg");
            mario.setPosicion(new Vector2(xrelatMario * screenWidth, yrelatAmbos * screenHeigth));
            mario.setEscala(new Vector2(relatMarioX, relatMarioY));

            luigi = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\personajes\\luigi.jpg");
            luigi.setPosicion(new Vector2(xrelatLuigi * screenWidth, yrelatAmbos * screenHeigth));//500,180
            luigi.setEscala(new Vector2(relatMarioX, relatMarioY));

            recuadro = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\otros\\recuadro.png");
            recuadro.setPosicion(0.95f*mario.getPosition());
            recuadro.setEscala(new Vector2(relatRecux,relatRecuy));

            //MARIO KART
            marioKart = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\frases\\D.png");
            marioKart.setPosicion(new Vector2(0.1345f*screenWidth, 0.05f*screenWidth));
            marioKart.setEscala(new Vector2(relatMKx,relatMKy));

            //"PRESIONE LA J PARA EMPEZAR A JUGAR"
            iniciar = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\frases\\P.png");
            iniciar.setPosicion(new Vector2(0.9f*marioKart.getPosition().X, 1.045f*marioKart.getPosition().Y ));
            iniciar.setEscala(new Vector2(relatInicx, relatInicy));

            //MENSAJE CONSOLA
            GuiController.Instance.Logger.log(" [WASD] Controles Vehículo "
                + Environment.NewLine + " [M] Música On/Off"
                + Environment.NewLine + " [R] Reset posición"
                + Environment.NewLine + " [B] Debug Mode (muestra OBBs y otros datos útiles)"
                + Environment.NewLine + " [I] Degreelessness Mode (modo Dios)"
                + Environment.NewLine + " [Q] Volver al menú principal");

            entrada = GuiController.Instance.D3dInput;
        }
        public PantallaGameOver()
        {
            gameOver = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\GO.png");
            gameOver.setPosicion(new Vector2(150, 150));
            gameOver.setEscala(new Vector2(0.3f, 0.3f));

            this.entrada = GuiController.Instance.D3dInput;
               /* mensaje = new TgcText2d();
            mensaje.Text = "GAME OVER. Presione Q para volver a empezar";
            mensaje.Color = Color.DarkRed;
            mensaje.Align = TgcText2d.TextAlign.CENTER;
            mensaje.Position = new Point(200, 200);
            mensaje.Size = new Size(600, 50);
            mensaje.changeFont(new System.Drawing.Font("TimesNewRoman", 25, FontStyle.Bold));*/
        }
        public PantallaFinalizacion(int ganadorOPerdedor)
        {
            this.entrada = GuiController.Instance.D3dInput;
            float screenHeigth = Globales.getInstance().getAltoPantalla();
            float screenWidth = Globales.getInstance().getAnchoPantalla();

            float cx = 0.5f * screenWidth / 1500;
            float cy = 0.4f* screenHeigth / 500;
            float cvx = 0.65f * screenWidth / 1500;
            float cvy = 0.5f * screenHeigth / 500;

            if (ganadorOPerdedor == 0)
            {
                gameOver = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\frases\\GO.png");
                gameOver.setPosicion(new Vector2(0.15f * screenWidth, 0.2f* screenHeigth));
                gameOver.setEscala(new Vector2(cx, cy));

                bandera=false;

                /*mensaje.Text = "GAME OVER. Presione Q para volver a intentar";
                mensaje.Color = Color.DarkRed;*/
            }
            else
            {
                ganaste = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\frases\\ganaste.png");
                //ganaste.setEscala(new Vector2(cx, cy));
                ganaste.setEscalarMaximo();
                ganaste.setCentrarAncho(0.2f * screenHeigth);

                bandera=true;
                /*mensaje.Text = "Ganaste! Presione Q para volver a jugar";
                mensaje.Color = Color.Green;*/

             }
            volverAEmpezar = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\frases\\Q.png");

            volverAEmpezar.setPosicion(new Vector2(0.1f * screenWidth , 0.35f * screenHeigth));
            volverAEmpezar.setEscala(new Vector2(cvx, cvy));
        }
Example #4
0
        public PantallaJuego(Auto autito)
        {
            /*En PantallaInicio le paso a Pantalla juego con qué auto jugar. Acá lo asigno a la pantalla, cargo el coso
            que capta el teclado, creo el Nivel1 y lo pongo en la lista de renderizables, para que sepa con qué
            escenario cargarse */

            this.auto = autito;
            auto.mesh.move(new Vector3(0, 0, -3100));
            auto.mesh.rotateY(-1.57f);

            this.entrada = GuiController.Instance.D3dInput;
            this.nivel = EjemploAlumno.getInstance().getNiveles(0);

            //Barrita de vida
            vida = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\vidaPersonaje\\vida.jpg");
            barra = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\vidaPersonaje\\fondobarra.png");
            barra2 = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\vidaPersonaje\\fondobarra2.png");

            vida.setEscala(escalaInicial);
            barra.setEscala(new Vector2(6.81f, 1f));
            barra2.setEscala(new Vector2(6.81f, 1f));
            Vector2 posicionbarra = new Vector2(10, 5);

            vida.setPosicion(new Vector2(155f, 9.3f));

            //CUENTA REGRESIVA
            uno = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\cuentaRegresiva\\1.png");
            uno.setCentrarYEscalar();
            dos = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\cuentaRegresiva\\2.png");
            dos.setCentrarYEscalar();
            tres = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\cuentaRegresiva\\3.png");
            tres.setCentrarYEscalar();

            //Instrucción de misión del juego
            misionMario = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\Mision\\m_mario.png");
            misionMario.setCentrarYEscalar();
            misionLuigi = new Imagen(GuiController.Instance.AlumnoEjemplosMediaDir + "LosBorbotones\\Mision\\m_luigi.png");
            misionLuigi.setCentrarYEscalar();

            // CAMARA TERCERA PERSONA
            GuiController.Instance.ThirdPersonCamera.Enable = true;
            GuiController.Instance.ThirdPersonCamera.resetValues();
            Vector2 vectorCam = (Vector2)GuiController.Instance.Modifiers["AlturaCamara"];
            GuiController.Instance.ThirdPersonCamera.setCamera(auto.mesh.Position, vectorCam.X, vectorCam.Y);
            GuiController.Instance.ThirdPersonCamera.rotateY(auto.mesh.Rotation.Y);

            //CARGAR MÚSICA.
            Musica track = new Musica("ramones.mp3");
            this.musica = track;
            musica.playMusica();
            musica.setVolume(35);

            Shared.debugMode = false;

            //Puntos de juego
            puntos = new TgcText2d();
            puntos.Text = "0";
            puntos.Color = Color.DarkRed;
            puntos.Align = TgcText2d.TextAlign.RIGHT;
            puntos.Position = new Point(30, 30);
            puntos.Size = new Size(100, 50);
            puntos.changeFont(new System.Drawing.Font("TimesNewRoman", 25, FontStyle.Bold));

            //Reloxxxx
            this.horaInicio = DateTime.Now;
            this.tiempoRestante = new TgcText2d();
            this.tiempoRestante.Text = "65";
            this.tiempoRestante.Color = Color.Green;
            this.tiempoRestante.Align = TgcText2d.TextAlign.RIGHT;
            this.tiempoRestante.Position = new Point(300, 30);
            this.tiempoRestante.Size = new Size(100, 50);
            this.tiempoRestante.changeFont(new System.Drawing.Font("TimesNewRoman", 25, FontStyle.Bold));
            this.comienzoNivel = true;

            //FLECHA NORMAL colision
            collisionNormalArrow = new TgcArrow();
            collisionNormalArrow.BodyColor = Color.Blue;
            collisionNormalArrow.HeadColor = Color.Yellow;
            collisionNormalArrow.Thickness = 1.4f;
            collisionNormalArrow.HeadSize = new Vector2(10, 20);

            //FLECHA debug (la usamos para conocer posiciones donde querramos posicionar meshes)
            debugArrow = new TgcArrow();
            debugArrow.BodyColor = Color.Purple;
            debugArrow.HeadColor = Color.Yellow;
            debugArrow.Thickness = 3f;
            debugArrow.HeadSize = new Vector2(10, 20);
            debugArrow.PStart = new Vector3(0, 400f, 0);
            debugArrow.PEnd = new Vector3(0, 10f, 0);
            debugArrow.updateValues();

            //USER VARS
            GuiController.Instance.UserVars.addVar("DistMinima");
            GuiController.Instance.UserVars.addVar("Velocidad");
            GuiController.Instance.UserVars.addVar("Vida");
            GuiController.Instance.UserVars.addVar("AngCol");
            GuiController.Instance.UserVars.addVar("AngRot");
            GuiController.Instance.UserVars.addVar("NormalObstaculoX");
            GuiController.Instance.UserVars.addVar("NormalObstaculoZ");
        }