首页 > 解决方案 > 使用 sfml 平滑所有方向的玩家移动

问题描述

我目前使用 switch 语句来检查是否按下了箭头键,将按钮指定的布尔值设置为 true,然后我计算如何移动(左右键用于更改旋转,向上/向下用于移动 - 使用三角函数计算)。我使用这样的语句:

if(upButtonPressed) 
    this->setPosition(Vector2f(calculate x,calculate y));

//same for down button
if(leftButtonPressed) 
    this->setRotation(deg -= 4.0f);

然后它检查按钮是否被释放,如果是,则将其布尔值设置为 false。这很好用,但是当我旋转并尝试向前/向后移动时,它会停止,我不知道为什么。我怎样才能使它顺利?

标签: sfml

解决方案


推荐阅读