public override void render(float elapsedTime) { Device d3dDevice = GuiController.Instance.D3dDevice; //Ver si cambio el MP3 string filePath = (string)GuiController.Instance.Modifiers["MP3-File"]; loadMp3(filePath); //Contro del reproductor por teclado TgcMp3Player player = GuiController.Instance.Mp3Player; TgcMp3Player.States currentState = player.getStatus(); if (GuiController.Instance.D3dInput.keyPressed(Microsoft.DirectX.DirectInput.Key.Y)) { if (currentState == TgcMp3Player.States.Open) { //Reproducir MP3 player.play(true); } if (currentState == TgcMp3Player.States.Stopped) { //Parar y reproducir MP3 player.closeFile(); player.play(true); } } else if (GuiController.Instance.D3dInput.keyPressed(Microsoft.DirectX.DirectInput.Key.U)) { if (currentState == TgcMp3Player.States.Playing) { //Pausar el MP3 player.pause(); } } else if (GuiController.Instance.D3dInput.keyPressed(Microsoft.DirectX.DirectInput.Key.I)) { if (currentState == TgcMp3Player.States.Paused) { //Resumir la ejecución del MP3 player.resume(); } } else if (GuiController.Instance.D3dInput.keyPressed(Microsoft.DirectX.DirectInput.Key.O)) { if (currentState == TgcMp3Player.States.Playing) { //Parar el MP3 player.stop(); } } //Render texto currentMusicText.render(); instruccionesText.render(); }
public void reproducir() { //Reproducir MP3 TgcMp3Player.States currentState = player.getStatus(); if (currentState == TgcMp3Player.States.Open) { //Reproducir MP3 player.play(true); } // player.play(true); }
//reproduce un tema previamente cargado, sino no pasa nada public void playMusica() { TgcMp3Player player = GuiController.Instance.Mp3Player; TgcMp3Player.States currentState = player.getStatus(); if (currentState == TgcMp3Player.States.Open) { //Reproducir MP3 player.play(true); } }
public void render() { Device d3dDevice = GuiController.Instance.D3dDevice; TgcMp3Player player = GuiController.Instance.Mp3Player; TgcMp3Player.States currentState = player.getStatus(); if (currentState == TgcMp3Player.States.Open) { //Reproducir MP3 player.play(true); } }
public void muteUnmute() { TgcMp3Player player = GuiController.Instance.Mp3Player; TgcMp3Player.States currentState = player.getStatus(); if (currentState == TgcMp3Player.States.Playing) { //Pausar el MP3 player.pause(); return; } else if (currentState == TgcMp3Player.States.Paused) { //Resumir la ejecución del MP3 player.resume(); } }
//Ver si cambio el MP3 public void verSiCambioMP3() { if (empezado == false) { loadMp3(archivo); reproducir(); empezado = true; return; } TgcMp3Player.States currentState = player.getStatus(); if (currentState == TgcMp3Player.States.Playing) { //Pausar el MP3 player.pause(); } if (currentState == TgcMp3Player.States.Paused) { //Resumir la ejecución del MP3 player.resume(); } }
public override void init() { Device d3dDevice = GuiController.Instance.D3dDevice; time = new DateTime(); //GuiController.Instance.D3dDevice.RenderState.ReferenceAlpha =255; TgcTexture texe = TgcTexture.createTexture(d3dDevice, "mitex1", GuiController.Instance.AlumnoEjemplosMediaDir + "Grupo18\\granito00.jpg"); TgcTexture texe1 = TgcTexture.createTexture(d3dDevice, "mitex1", GuiController.Instance.AlumnoEjemplosMediaDir + "Grupo18\\nubes.jpg"); Vector3 cen = new Vector3(1, 1, 220); Vector3 boxSi = new Vector3(2000, 2000, 2000); cajaporon = BoundingBoxExtendida.fromSize(cen, boxSi, texe1); TgcSceneLoader loader = new TgcSceneLoader(); boxes = new List <BoundingBoxExtendida>(); int a = 0; Vector3 boxSize = new Vector3(25, 25, 25); //Genera la aleatoriedad this.generarAleatorio(); for (int i = 0; i < 4; i++) { for (int j = 0; j < 4; j++) { for (int k = 0; k < 4; k++) { if (!((k == 1 || k == 2) && ((i > 0 && i < 3) && (j > 0 && j < 3)))) { TgcTexture texture = TgcTexture.createTexture(d3dDevice, "mitex" + i + j + k, GuiController.Instance.AlumnoEjemplosMediaDir + "Grupo18\\granito00.jpg"); Vector3 center = new Vector3((boxSize.X + boxSize.X / 2) * i, (boxSize.Y + boxSize.Y / 2) * j, (k * 35) + 220); BoundingBoxExtendida box1 = BoundingBoxExtendida.fromSize(center, boxSize, texture); box1.setName("imagen" + imagenes[a]); a++; boxes.Add(box1); } } } } //Iniciarlizar PickingRay pickingRay = new TgcPickingRay(); GuiController.Instance.RotCamera.CameraDistance = 250; GuiController.Instance.RotCamera.CameraCenter = new Vector3(56.25f, 56.25f, 272.2f); //Crear caja para marcar en que lugar hubo colision collisionPointMesh = TgcBox.fromSize(new Vector3(25, 25, 25), Color.Red); selected = false; //Crear caja para indicar ubicacion de la luz ligtBox = TgcBox.fromSize(new Vector3(10, 10, 10), Color.Yellow); aciertosText = new TgcText2d(); aciertosText.Text = "Aciertos:"; aciertosText.Position = new Point(340, 10); aciertosText.Color = Color.Red; aciertosText.changeFont(new System.Drawing.Font(FontFamily.GenericMonospace, 20, FontStyle.Bold)); fracazosText = new TgcText2d(); fracazosText.Text = "Fracasos:"; fracazosText.Position = new Point(340, 90); fracazosText.Color = Color.Red; fracazosText.changeFont(new System.Drawing.Font(FontFamily.GenericMonospace, 20, FontStyle.Bold)); puntuacionAciertosText = new TgcText2d(); puntuacionAciertosText.Text = "0"; puntuacionAciertosText.Position = new Point(340, 40); puntuacionAciertosText.Color = Color.Red; puntuacionAciertosText.changeFont(new System.Drawing.Font(FontFamily.GenericMonospace, 40, FontStyle.Bold)); puntuacionFracazosText = new TgcText2d(); puntuacionFracazosText.Text = "0"; puntuacionFracazosText.Position = new Point(340, 110); puntuacionFracazosText.Color = Color.Red; puntuacionFracazosText.changeFont(new System.Drawing.Font(FontFamily.GenericMonospace, 40, FontStyle.Bold)); finalText = new TgcText2d(); finalText.Text = "FIN DEL JUEGO"; finalText.Position = new Point(0, 30); finalText.Color = Color.Red; finalText.changeFont(new System.Drawing.Font(FontFamily.GenericMonospace, 70, FontStyle.Bold)); finalText1 = new TgcText2d(); finalText1.Position = new Point(0, 120); finalText1.Color = Color.Red; finalText1.changeFont(new System.Drawing.Font(FontFamily.GenericMonospace, 60, FontStyle.Bold)); tiempoTranscurrido = new TgcText2d(); tiempoTranscurrido.Position = new Point(0, 360); tiempoTranscurrido.Color = Color.Red; tiempoTranscurrido.changeFont(new System.Drawing.Font(FontFamily.GenericMonospace, 60, FontStyle.Bold)); this.loadMp3(GuiController.Instance.AlumnoEjemplosMediaDir + "Grupo18\\dalePlay.mp3"); TgcMp3Player player = GuiController.Instance.Mp3Player; TgcMp3Player.States currentState = player.getStatus(); player.play(true); GuiController.Instance.Modifiers.addButton("Reload", "Reload", new EventHandler(Reload_ButtonClick)); //Crear Sprite animado animatedSprite = new MySprite( GuiController.Instance.AlumnoEjemplosMediaDir + "Grupo18\\prueba2.png", //Textura de 256x256 new Size(128, 128), //Tamaño de un frame (64x64px en este caso) 16, //Cantidad de frames, (son 16 de 64x64px) 6 //Velocidad de animacion, en cuadros x segundo ); //Ubicarlo centrado en la pantalla Size screenSize = GuiController.Instance.Panel3d.Size; Size textureSize = animatedSprite.Sprite.Texture.Size; animatedSprite.Scaling = new Vector2(4f, 4f); animatedSprite.Position = new Vector2(screenSize.Width / 2 - textureSize.Width / 2, screenSize.Height / 2 - textureSize.Height / 2); animatedSprite.positionBkp = animatedSprite.Position; //Crear Sprite animado animatedSpriteTriste = new MySprite( GuiController.Instance.AlumnoEjemplosMediaDir + "Grupo18\\caritaTiste.png", //Textura de 256x256 new Size(128, 128), //Tamaño de un frame (64x64px en este caso) 16, //Cantidad de frames, (son 16 de 64x64px) 6 //Velocidad de animacion, en cuadros x segundo ); animatedSpriteTriste.Scaling = new Vector2(2f, 2f); animatedSpriteTriste.Position = new Vector2(8, 5); animatedSpriteTriste.positionBkp = animatedSpriteTriste.Position; }
// <param name="elapsedTime">Tiempo en segundos transcurridos desde el último frame</param> public override void render(float elapsedTime) { Device d3dDevice = GuiController.Instance.D3dDevice; axisRotation += AXIS_ROTATION_SPEED * elapsedTime; float camaraY = (float)GuiController.Instance.Modifiers["camaraY"]; float camaraZ = (float)GuiController.Instance.Modifiers["camaraZ"]; camaraTerceraPersona.CambiarCamara(camaraY, camaraZ); //Obtener valor de UserVar (hay que castear) int valor = (int)GuiController.Instance.UserVars.getValue("variablePrueba"); #region //Radio de la nave string filePath = (string)GuiController.Instance.Modifiers["MP3-File"]; LoadMp3(filePath); TgcMp3Player player = GuiController.Instance.Mp3Player; TgcMp3Player.States currentState = player.getStatus(); if (GuiController.Instance.D3dInput.keyPressed(Microsoft.DirectX.DirectInput.Key.Y)) { if (currentState == TgcMp3Player.States.Open) { //Reproducir MP3 player.play(true); } if (currentState == TgcMp3Player.States.Stopped) { //Parar y reproducir MP3 player.closeFile(); player.play(true); } } else if (GuiController.Instance.D3dInput.keyPressed(Microsoft.DirectX.DirectInput.Key.O)) { if (currentState == TgcMp3Player.States.Playing) { //Parar el MP3 player.stop(); } } #endregion //Cargamos el Render Targer al cual se va a dibujar la escena 3D. Antes nos guardamos el surface original //En vez de dibujar a la pantalla, dibujamos a un buffer auxiliar, nuestro Render Target. pOldRT = d3dDevice.GetRenderTarget(0); Surface pSurf = renderTarget2D.GetSurfaceLevel(0); d3dDevice.SetRenderTarget(0, pSurf); d3dDevice.Clear(ClearFlags.Target | ClearFlags.ZBuffer, Color.Black, 1.0f, 0); //Dibujamos la escena comun, pero en vez de a la pantalla al Render Target drawSceneToRenderTarget(d3dDevice, elapsedTime); //Liberar memoria de surface de Render Target pSurf.Dispose(); //Si quisieramos ver que se dibujo, podemos guardar el resultado a una textura en un archivo para debugear su resultado (ojo, es lento) //TextureLoader.Save(GuiController.Instance.ExamplesMediaDir + "Shaders\\render_target.bmp", ImageFileFormat.Bmp, renderTarget2D); //Ahora volvemos a restaurar el Render Target original (osea dibujar a la pantalla) d3dDevice.SetRenderTarget(0, pOldRT); //Luego tomamos lo dibujado antes y lo combinamos con una textura con efecto de alarma drawPostProcess(d3dDevice); nave.Renderizar(elapsedTime, obstaculos); NaveEnemiga1.MoverHaciaObjetivo(elapsedTime, nave.Modelo.Position); NaveEnemiga1.Renderizar(elapsedTime, obstaculos); #region Detectar Colisiones ColisionNave(elapsedTime); ColisionDisparos(elapsedTime); #endregion sol.BoundingBox.transform(sol.Transform); sol.Transform = TransformarSol(elapsedTime); GuiController.Instance.ThirdPersonCamera.Target = nave.Modelo.Position; //Limpiamos todas las transformaciones con la Matrix identidad sol.render(); d3dDevice.Transform.World = Matrix.Identity; Universo.renderAll(); }