【发布时间】:2021-08-03 23:14:23
【问题描述】:
我一直在尝试找到一个使文本居中的公式,但我无法让它适用于所有长度的文本,所以我有点卡住了,无法找到正确居中所有内容的方法。到目前为止,这是我所拥有的:
void Button::set_pos(sf::Vector2f pos) {
button.setPosition(pos);
float pos_x = (pos.x + button.getLocalBounds().width/3.0f) -
(text.getGlobalBounds().width/2);
float pos_y = (pos.y + button.getLocalBounds().height/3.0f) -
(text.getGlobalBounds().height/2);
text.setPosition(pos_x, pos_y);
}
我怎样才能让它正确居中
【问题讨论】:
-
这能回答你的问题吗? SFML Drawing centered text
-
很遗憾没有,我之前试过了,还是没有解决。
-
那我有一个问题:在调用
set_pos之前,是否设置了文本的字符串(sf::Text::setString)?因为如果是这样,那就是你的问题。当字符串已经设置时,您必须调用set_pos。否则,这没有意义,您要么跳过重要信息,要么没有正确尝试我之前评论中链接的解决方案。