Hm, I don't know what player.h is, so im guessing
maybe, just maybe, its because 2.f is a small number, so you can't see the difference, try 20 for example
No, 2.f is two whole pixels, and this is per frame, from what I can tell, so that's not it.
Can you post a complete and minimal code that reproduces the problem so we can compile it and test it ourselves?
https://gist.github.com/OwenMin/5244931
That's the full works right now, all you need to do is copy and paste them into the corresponding file names and it should compile.
EDIT: Oops, forgot to add my ImageManager, it's all functional now.
That is DEFINITELY not minimal. Minimal means cut out every single line of code that isn't relevant to the problem, and put it all into a SINGLE file. Preferably put it all into main() as well. For this problem, you definitely don't need all those classes to reproduce the problem.
I do, however, see what is most likely the cause of your problem. In Engine::ProcessInput(), you have these lines
if(window->pollEvent(Event))
{
if(Event.type == sf::Event::Closed)
window->close();
if(sf::Keyboard::isKeyPressed(sf::Keyboard::Escape))
window->close();
}
The problem here is that you say if(window->pollEvent(Event)). That won't work. That will only catch one event per frame, meaning any other events will get "backlogged" and not make it to the game for a long time. Since the keyboard state is updated by pollEvent, that means that your if statements won't know that the keyboard has been pressed until the keypress events get out of the backlog. If you want to fix this, you just need to change the if(window->pollEvent(Event)) to while(window->pollEvent(Event)).