Ver Mensaje Individual
  #7 (permalink)  
Antiguo 13/02/2005, 16:43
blackwind
 
Fecha de Ingreso: noviembre-2003
Ubicación: Mexico
Mensajes: 1.081
Antigüedad: 21 años, 3 meses
Puntos: 7
espero que esto te sirva:

Código:
float g_FrameInterval = 0.0f;

//////////////////////////////////////////////////////////////
//     Calcula los frames por segundo (FPS)					//
//////////////////////////////////////////////////////////////
void CalculateFrameRate()
{
	static float framesPerSecond    = 0.0f;		// Inicializamos nuestro FPS
    static float lastTime			= 0.0f;		// Contiene el tiempo del ultimo frame
	static char strFrameRate[50] = {0};			// Aqui podemos cambiar el titulo de la ventana
	static float frameTime = 0.0f;				// Contiene el tiempo del ultimo frame

	// obtenemos el timpo en segundos con la funcion predeterminada
    float currentTime = timeGetTime() * 0.001f;				

	// aqui obtenemos el intervalo de tiempo para nuestras funciones
	//luego lo guardamos en nuestra variable estatica
 	g_FrameInterval = currentTime - frameTime;
	frameTime = currentTime;


	// incrementa el contador de frames
    ++framesPerSecond;

	// aqui restamos el tiempo actual, menos el ultimo tiempo que fue obtenido
	// para ver si el intervalo de tiempo paso de un segundo, y encontrar nuestro FPS
    if( currentTime - lastTime > 1.0f )
    {
		// el ultimo tiempo sera igual al tiempo actual
	    lastTime = currentTime;
		
		// FPS los pasamos a un string para mostrarlos en el titulo de la ventana
		sprintf(strFrameRate, "FPS:  %d", int(framesPerSecond));

		// Mostramos el titulo en la ventana
		
		SDL_WM_SetCaption(strFrameRate, NULL);

		// Reseteamos el contador
        framesPerSecond = 0;
    }
	
}
y ahora por ejemplo, cuando presiones una tecla para mover algo:
suponiendo que se mueve con cierta velocidad:
tendria que ser algo asI.
if(tecla presionada)
muevealgo *= g_FrameInterval = 0.0f;


EDIT***
jejeje, por cierto, en lugar de estO.
SDL_WM_SetCaption(strFrameRate, NULL);
pon su equivalente con la API de windows (o la que te estes usando para manejar ventanas) (muestra los fps en la ventana)

Última edición por blackwind; 13/02/2005 a las 16:44