查找sf::绘图前的文本宽度

Finding sf::Text width before drawing?

本文关键字:文本 sf 绘图 查找      更新时间:2023-10-16

text.getLocalBounds((.width只有在绘制完文本后才能工作,而我正在使用的代码结构不允许这样做。我打算稍微重新安排一下程序,但我想知道是否有一种方法可以估计它。

我能够获得局部边界

    sf::Text infoText;
    infoText.setPosition(0.0f, SCREEN_Y-23.0f);
    infoText.setCharacterSize(20);
    infoText.setString("press i for info");
    infoText.setFont(*resourceManager()->getFont(ResourceManager::FontResources::sansation_ttf));
    std::cout << "info text width: " <<  infoText.getLocalBounds().width << std::endl;

我每次都能得到正确的宽度。我的SFML版本略高于2.1,因为我需要一个额外的功能。您使用的是什么版本的SFML?

我正在使用此提交中的SFML:29c0f149117d9125cc731f0c04bdf4c21c4650e