我在使用c ++ w / sfml进行平滑移动时遇到问题。 有人可以制作一个算法,通过按下按钮平滑移动形状/精灵15 px(精灵/形状是15像素)?感谢。
答案 0 :(得分:1)
因为许多其他程序员可能想知道,这里是,但下次问一个更精确的问题 这是我的顺利运动的方式:
采取初步动作,让我们说每秒25, 15
做一个像这样的循环:
void GameEngine::GameLoop()
{
sf::Clock timer;
sf::Time tickRate;
sf::Vector2f movement(25.0,15.0); // Your movement vector
while(/* wahtever */){
tickRate = timer.restart();
yourShape.move(movement * ((float)tickRate.asMilliseconds() / 1000)); //Move your shape depending on the time elapsed between two frame
yourWindow.clear();
yourWindow.draw(yourShape);
yourWindow.display();
}
}