У меня есть класс Timer
, но всякий раз, когда я пытаюсь изменить значение любой переменной, переменная просто остается равной нулю. SDL_GetTicks()
возвращает предполагаемое значение, но когда я пытаюсь присвоить это значение переменной, эта переменная остается равной нулю. Я пробовал жестко кодировать числа, и переменная по-прежнему остается равной нулю. Переменные в моем классе Main
работают просто отлично, но когда я пытаюсь изменить любую из них в этом, это не работает. Кроме того, метод timeSinceCreation()
также возвращает ноль.
#include "Timer.h"
#include "SDL.h"
Timer::Timer() : m_timeOfLastCall(0.0f)
{
SDL_Init(SDL_INIT_TIMER);
}
Timer::~Timer() {}
float Timer::timeSinceCreation()
{
return SDL_GetTicks();
}
float Timer::timeSinceLastFrame()
{
float thisTime = timeSinceCreation();
float deltaTime = thisTime - m_timeOfLastCall;
m_timeOfLastCall = thisTime;
printf("%u ms \n", thisTime );
return deltaTime;
}
printf("%.8e ms\n");
или посмотрите документацию для строк форматаstdio
. - person Brett Hale   schedule 28.02.2013SDL_GetTicks()
возвращает правильное значение, аtimeSinceCreation()
возвращает ноль. - person Mahesh   schedule 28.02.2013