Manejo del tiempo AUTORA: Yolanda Martínez Treviño 1) Declarar las variables necesarias // Estas variables nos ayudarán a controlar la rapidez // con la que se ejecuta alguna parte del programa. private double retrasoEntreTeclas, cronometro; Esta variable es como un cronómetro que guardará el tiempo que ha pasado desde la última vez que atendí un evento. Esta variable es para el tiempo que quiero que pase entre un evento y el siguiente que atiendo. 2) Dentro de Initialize // Fracción de segundos que deseamos que pase entre cada evento. retrasoEntreTeclas = 0.25f; // 0.25 segundos. // Empezamos en cero e iremos sumando el tiempo transcurrido. cronometro = 0; 3) Dentro del Método Update // Tiempo transcurrido desde la última vez que se llamó a Update. double transcurrido = gameTime.ElapsedGameTime.TotalSeconds; // Agrego ese tiempo al cronómetro. cronometro += transcurrido ; // Capturar la tecla que presionó el usuario. tecla = Keyboard.GetState(); // ¿Ha transcurrido tiempo suficiente desde la // última vez que atendí la tecla Up? // si sí, entonces vuelvo a atenderla if (cronometro >= retrasoEntreTeclas ) { if (tecla.IsKeyDown(Keys.Up)) { Si no revisamos esto, como el método Update y Draw se acutalizan muchas veces por segundo, puede pasar que, una sola tecla, se atienda varias veces. En algunos casos no importa, pero en otros sí. … // Como acabo de atender la tecla, vuelvo a poner el cronómetro en 0 cronometro = 0; } }