Имам клас 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