提问人:Nobody 提问时间:10/26/2023 最后编辑:genpfaultNobody 更新时间:10/26/2023 访问量:48
SFML程序无法加载图像
SFML program can not load image
问:
我正在尝试在Visual Studio中使用SFML开发游戏:
#include <SFML/Graphics.hpp>
#include "windows.h"
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
sf::VideoMode desktopMode = sf::VideoMode::getDesktopMode();
sf::RenderWindow window(desktopMode, "Ant God Simulator", sf::Style::Fullscreen);
sf::Texture backgroundTexture;
if (!backgroundTexture.loadFromFile("C:\\Dev\\AntGodSimulator\\Sprites\\Background-Grass"))
{
MessageBox(NULL, L"Failed to load background texture.", L"Error", MB_OK);
return -1;
}
sf::Sprite background(backgroundTexture);
background.setScale(
(float)desktopMode.width / backgroundTexture.getSize().x,
(float)desktopMode.height / backgroundTexture.getSize().y
);
while (window.isOpen())
{
sf::Event event;
while (window.pollEvent(event))
{
if (event.type == sf::Event::Closed)
window.close();
}
window.clear(sf::Color(50, 50, 50));
window.draw(background);
window.display();
}
return 0;
}
在我尝试加载和显示背景图像之前,一切正常。程序将立即退出,并且不显示背景图像。
我尝试了以下方法:
- 已确保图像的路径正确无误。
- 我检查了图像是否在项目中的正确目录中
- 更改了图像格式(尝试了 .jpg 和 .png)。
- 确保在Visual Studio中正确设置了调试/发布配置,并且我链接到了正确的SFML库。
答: 暂无答案
评论
C:\\Dev\\AntGodSimulator\\Sprites\\Background-Grass
这真的是没有扩展名的文件名吗?也许您的文件资源管理器设置为隐藏扩展名并导致这种混淆。loadFromFile
loadFromFile