【问题标题】:Texture is not rendered in SFML纹理未在 SFML 中呈现
【发布时间】:2022-12-03 21:26:54
【问题描述】:

问题是我在编译代码时没有收到任何错误,只有黑屏。值得注意的是,sfml 网站中的示例已成功编译并呈现图像。

** 我在 macOS 上使用 CLion。

void Player::initializeTexture() {
    /*
     * A texture will be loaded from a file.
     */


    if(!this->texture.loadFromFile("/Users/ismailsafwat/CLionProjects/ShapeShooters/Textures/sfmliconbig.png")){
        std::cout << "ERROR::PLAYER::INITIALIZETEXTURE::Failed to load the file!" << "\n";
    }
}

我在 CLion 中修改了很多 CMake 和工具链设置,并重新安装了 SFML,但还没有结果。 Windows 上的 Visual Studio 有很多支持和帮助,但这对我没有帮助。我也阅读了很多关于不“混合调试和发布库”的内容,但我还是想不通。

** 更新 现在问题解决了,问题出在函数的顺序上。

【问题讨论】:

    标签: macos sfml clion


    【解决方案1】:

    好吧,你切掉了加载纹理最重要的部分。

    我相信您所做的是创建新的sf::texture 并加载它。 但问题是,如果您在 void Player::initializeTexture() 中加载纹理而不将其保存在其他任何地方,则在函数完成后它会被销毁。

    【讨论】:

    • 你能详细说明一下吗?
    • 实际上,为了全面帮助您,您需要发布更多代码,因为正如我在回答中所说,您已经删除了最重要的部分。如果您编辑了您的问题并提供了一些 Player 类以及您如何加载纹理,那将非常有帮助。
    • 现在问题解决了。我编辑了问题。
    猜你喜欢
    • 1970-01-01
    • 2014-08-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多