首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >速度提升

速度提升
EN

Stack Overflow用户
提问于 2012-12-14 09:56:14
回答 1查看 394关注 0票数 2

当我移动我的物体时,它开始变慢,然后开始加速。我想要一个恒定的速度,但我不知道出了什么问题

代码语言:javascript
复制
    const float m_Walkspeed = 0.1;

    if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left) && m_position.x > 0)
    {
        m_velocity.x -= m_Walkspeed;
        CurrentAnimation = &AnimationLeft;
    }

    if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right) && m_position.x < 800) 
    {
        m_velocity.x += m_Walkspeed;
        CurrentAnimation = &AnimationRight;
    }

    if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up) && m_position.y > 0) 
    {
        m_velocity.y -= m_Walkspeed;
        CurrentAnimation = &AnimationUp;
    }

    if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down) && m_position.y < 560) 
    {
        m_velocity.y += m_Walkspeed;
        CurrentAnimation = &AnimationDown;
    }

    m_position += m_velocity;
    m_velocity = sf::Vector2f(0, 0);
    CurrentAnimation->setPosition(m_position);
}
EN

回答 1

Stack Overflow用户

发布于 2012-12-14 16:49:52

假设您在每一帧调用此代码,则必须考虑自上一帧以来的时间

代码语言:javascript
复制
m_velocity += timeSinceLastFrame;
m_position += m_velocity;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13871591

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档