protected override void OnUpdateFrame(FrameEventArgs e) { KeyboardState input = Keyboard.GetState(); if (input.IsKeyDown(Key.Escape)) { Exit(); } if (!Focused) // check to see if the window is focused { return; } if (input.IsKeyDown(Key.F1)) { // activa variable casa para que todas las figuras hagan transformaciones basicas tech.activarCasa(); paredd.activarCasa(); puert.activarCasa(); todo = true; } if (input.IsKeyDown(Key.F2)) { //activa variable casa para que solo techo haga transformaciones basicas tech.activarCasa(); paredd.desactivarCasa(); puert.desactivarCasa(); todo = false; } if (input.IsKeyDown(Key.F3)) { //activa variable casa para que solo pared haga transformaciones basicas tech.desactivarCasa(); paredd.activarCasa(); puert.desactivarCasa(); todo = false; } if (input.IsKeyDown(Key.F4)) { //activa variable casa para que solo puerta haga transformaciones basicas tech.desactivarCasa(); paredd.desactivarCasa(); puert.activarCasa(); todo = false; } if (input.IsKeyDown(Key.R)) { //presionando R pone en true mi rotacion tech.rotar(); paredd.rotar(); puert.rotar(); } if (input.IsKeyDown(Key.T)) { //presionando T pone en true mi traslacion tech.trasladar(); paredd.trasladar(); puert.trasladar(); } if (input.IsKeyDown(Key.E)) { //presionando E pone en true mi escalacion tech.escalar(); paredd.escalar(); puert.escalar(); } if (input.IsKeyDown(Key.Right)) { //presionando flechaDerecha se mueve a la derecha tech.trasladarDerechaX(); paredd.trasladarDerechaX(); puert.trasladarDerechaX(); //presionando flechaDerecha rota en Y hacia la derecha if (todo) { tech.rotarYderecha(); paredd.rotarYderecha(); puert.rotarYderecha(); } else { tech.rotarYderechaParte(); paredd.rotarYderechaParte(); puert.rotarYderechaParte(); } } if (input.IsKeyDown(Key.Left)) { //presionando flechaIzquierda se mueve a la izquierda tech.trasladarIzquierdaX(); paredd.trasladarIzquierdaX(); puert.trasladarIzquierdaX(); //presionando flechaIzquierda rota en Y hacia la izquierda if (todo) { tech.rotarYizquierda(); paredd.rotarYizquierda(); puert.rotarYizquierda(); } else { tech.rotarYizquierdaParte(); paredd.rotarYizquierdaParte(); puert.rotarYizquierdaParte(); } } if (input.IsKeyDown(Key.Up)) { //presionando flechaHaciaArriba se mueve en Y, hacia arriba tech.trasladarArribaY(); paredd.trasladarArribaY(); puert.trasladarArribaY(); //presionando flechaHaciaArriba se agranda, aumenta su escala tech.escalarAgrandar(); paredd.escalarAgrandar(); puert.escalarAgrandar(); //presionando flechaHaciaArriba rota en X hacia arriba if (todo) { tech.rotarXarriba(); paredd.rotarXarriba(); puert.rotarXarriba(); } else { tech.rotarXarribaParte(); paredd.rotarXarribaParte(); puert.rotarXarribaParte(); } } if (input.IsKeyDown(Key.Down)) { //presionando flechaHaciaAbajo se mueve en Y hacia abajo tech.trasladarAbajoY(); paredd.trasladarAbajoY(); puert.trasladarAbajoY(); //presionando flechaHaciaAbajo se achica, disminuye su escala tech.escalarAchicar(); paredd.escalarAchicar(); puert.escalarAchicar(); //presionando flechaHaciaAbajo rota en X hacia abajo if (todo) { tech.rotarXabajo(); paredd.rotarXabajo(); puert.rotarXabajo(); } else { tech.rotarXabajoParte(); paredd.rotarXabajoParte(); puert.rotarXabajoParte(); } } if (input.IsKeyDown(Key.Keypad9)) { //presionando numero 9 se mueve hacia el eje Z positivo tech.moverEnZpositivo(); paredd.moverEnZpositivo(); puert.moverEnZpositivo(); //presionando numero 9 rota en Z positivo if (todo) { tech.rotarZderecha(); paredd.rotarZderecha(); puert.rotarZderecha(); } else { tech.rotarZderechaParte(); paredd.rotarZderechaParte(); puert.rotarZderechaParte(); } } if (input.IsKeyDown(Key.Keypad1)) { //presionando numero 1 se mueve hacia el eje Z negativo tech.moverEnZnegativo(); paredd.moverEnZnegativo(); puert.moverEnZnegativo(); //presionando numero 1 rota en z negativo if (todo) { tech.rotarZizquierda(); paredd.rotarZizquierda(); puert.rotarZizquierda(); } else { tech.rotarZizquierdaParte(); paredd.rotarZizquierdaParte(); puert.rotarZizquierdaParte(); } } if (input.IsKeyDown(Key.A)) { puert.abrirPuerta("abrir"); } if (input.IsKeyDown(Key.C)) { puert.abrirPuerta("cerrar"); } base.OnUpdateFrame(e); }