xna 07 - manejo del tiempo1

Anuncio
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;
}
}
Descargar