C++ 在矩形形状的中心对齐文本

C++ 在矩形形状的中心对齐文本,c++,sfml,text-alignment,C++,Sfml,Text Alignment,我目前正在尝试在SFML /C++中编写一个按钮类,但是在按钮的中间对齐文本有问题。 我一直在使用标准对齐公式(按钮x位置/2)-(文本宽度/2)和(按钮y位置/2)-(文本高度/2) 这段代码的结果是文本向上并向左弹出,并且肯定不在中间。我确信这与SFML如何设置它们的坐标几乎成反比有关,但我不确定。感谢您的帮助 这个公式似乎适合我: void setPosition(sf::Vector2f point) { button.setPosition(point);

我目前正在尝试在SFML /C++中编写一个按钮类,但是在按钮的中间对齐文本有问题。 我一直在使用标准对齐公式(按钮x位置/2)-(文本宽度/2)和(按钮y位置/2)-(文本高度/2)


这段代码的结果是文本向上并向左弹出,并且肯定不在中间。我确信这与SFML如何设置它们的坐标几乎成反比有关,但我不确定。感谢您的帮助

这个公式似乎适合我:

void setPosition(sf::Vector2f point) {
        button.setPosition(point);
        float xPos = (point.x + btnWidth / 2) - (text.getLocalBounds().width / 2);
        float yPos = (point.y + btnHeight / 2) - (text.getLocalBounds().height / 2);
        text.setPosition(xPos, yPos);
    }
void setPosition(sf::Vector2f point) {
        button.setPosition(point);
        float xPos = (point.x + btnWidth / 2) - (text.getLocalBounds().width / 2);
        float yPos = (point.y + btnHeight / 2) - (text.getLocalBounds().height / 2);
        text.setPosition(xPos, yPos);
    }