Un saludo,
Jose L.
On Nov 27, 10:09 pm, "Jose L. Hidalgo" <joseLuis.Hida...@gmail.com>
wrote:
Jose L.
Tengo una inquietud,, pero te voy a dar esta ide a 1ro:
mira este codigo:
bool _Npc2Anime::Pulso()
{
bool iResult = true;
if(iGoal > clock() ){
iResult = false;
} else {
iWait = fPulso_x_Seg * CLOCKS_PER_SEC;
iGoal = iWait + clock();
}
return(iResult);
}
void _Npc2Anime::Play(BITMAP *bmp)
{
if( !Pulso() ) { goto Sigue; }
.
.
.
Sigue:
}
La funcion Pulso(), forma parte de una structura, _Npc2Anime, que
contiene 3 variables declaradas así,, dentro de ella:
clock_t iWait;
clock_t iGoal;
float fPulso_x_Seg
el segundo Metodo llamado Play( ... ), llama esta funcion,, pero antes
puedes debes poner un valor de tiempo de espera,, en la Variable,
fPulso_x_Seg,, esto es un valor flotante que tomando los CLOCKS_PER_SEC
de la CPU, puede calcularte un retardo,, muy exacto,, por ejemplo: si
quieres que las instrucciones del metodo Play( ... ), entre la llamada
a la funcion, Pulso(),, se ejectute 4 veces por segundo,,, en
fPulso_x_Seg debes poner 0.0250, asi puedes ir incrementando el valor,,
en la 1ra pasada,, calculará iGoal,, es en este instante,, cuando
iGoal supera el reloj de la maquina,, i la funcion retornará false,,
por lo que las funciones antes de la etiqueta,, no se ejecutaran en ese
lapso,, hasta que el reloj del CPU,, alcance el tiempo estimativo....
bien espero te sirva,,,,,
Bye Bye!!!!
> > funciona.- Ocultar texto de la cita -- Mostrar texto de la cita -