C++ Visual Studio 导入 png 中的 SMFL 语法问题

Posted

技术标签:

【中文标题】C++ Visual Studio 导入 png 中的 SMFL 语法问题【英文标题】:Problem with SMFL Syntax in C++ Visual Studio importing png 【发布时间】:2021-05-07 14:05:14 【问题描述】:

-我是 C++ 和 SFML 的新手,想导入 png 文件。

-它工作了一段时间,但后来我得到了 消息“构建失败,运行最后一次成功?”大多数时候。有时它仍然有效。

-没有“真正的”错误,所以很难弄清楚问题是什么

-我之前读过,从调试模式切换到发布模式可能是一个原因,但它没有帮助

它在我不使用时工作:
if (!texture.loadFromFile("assets/player.png")) 
        
        std::cout << "Could not load png \n";
        return 0;
        

-> 但是,当然,那时精灵就不见了。

我很乐意为此提供解决方案/理由或我迄今为止错过的主题来阅读/了解。 我很高兴得到建议。 到目前为止,谢谢。

亚历克斯

视觉工作室 2019 x64 SFML-2.5.1


完整代码:

#include"SFML/Graphics.hpp"
#include<iostream>
#include"main.h"

int main(int argc, char** argv[])

    sf::RenderWindow window(sf::VideoMode(1200,800), "bimWindow");
    sf::RectangleShape rs(sf::Vector2f(1000, 700));
    rs.setFillColor(sf::Color::Green);

    sf::Event event;
    sf::Texture texture;

    if (!texture.loadFromFile("assets/player.png")) 
        
        std::cout << "Could not load png \n";
        return 0;
        

    sf::Sprite sprite;
    sprite.setTexture(texture);
    sprite.setPosition(100,100);
    //sprite.scale(sf::Vector2f(3, 3));

    rs.setPosition(80, 80);

    // run the program as long as the window is open:
    while (window.isOpen())
    
        
        //let window open i guess.
        while (window.pollEvent(event)); //stay true as long aas it didnt happen or so
        
            // "close requested" event:close the window
            if(event.type == sf::Event::Closed)
                    window.close();
        
        //RENDER:
        window.clear();
        window.draw(rs);
        window.draw(sprite);
        window.display();
        
    

    return 0;


【问题讨论】:

【参考方案1】:

尝试确保“assets/player.png”文件位于您的解决方案目录中(包含 .sln 文件的文件夹。)您的代码似乎运行良好,这是我能想到的唯一错误的。如果可以的话,收到您收到的错误消息会有所帮助。如果 png 文件在正确的位置并且您仍然遇到错误,我建议您重新安装 SFML 并按照在线教程进行操作,以确保您正确设置所有内容。

【讨论】:

以上是关于C++ Visual Studio 导入 png 中的 SMFL 语法问题的主要内容,如果未能解决你的问题,请参考以下文章

尝试在 Visual Studio 2013-15 中从 C++ 执行 python 脚本时出现导入错误

调试由 C# Visual Studio 2010 插件导入的 C++ dll

在 Visual Studio 窗体上显示 PNG

从 Linux 动态库/Linux 控制台应用程序导出/导入 C++ 函数 | Visual Studio Linux 项目

我可以在 Windows Visual Studio 中编写 C++ 或任何代码然后“导入”到 Linux 吗?

visual studio 2010如何导入透明背景图片,或者说可以导入啥格式的图片,最后成为透明背景。