0

当我尝试在 SFML 2.0 中显示图像时,它永远找不到图像。我正在使用 Visual Studio Express C++ 2010。这是我的代码。

#include "stdafx.h"

using namespace std;

int main()
 {
     // Create the main window
     sf::RenderWindow window(sf::VideoMode(800, 600), "SFML window");

     // Load a sprite to display
     sf::Texture texture;
     if (!texture.loadFromFile("image.png"))
     {
         cout << "Could not find file image.png" << endl;
         system("PAUSE");
     }
     sf::Sprite sprite(texture);

     // Create a graphical text to display


     // Load a music to play

     // Start the game loop
     while (window.isOpen())
     {
         // Process events
         sf::Event event;
         while (window.pollEvent(event))
         {
             // Close window : exit
             if (event.type == sf::Event::Closed)
                 window.close();
         }

         // Clear screen
         window.clear();

         // Draw the sprite
         window.draw(sprite);

         // Draw the string

         // Update the window
         window.display();
     }

     return EXIT_SUCCESS;
 }

但是当我将图像目录更改为特定的“C:\Users\Chase\Documents\Visual Studio 2010\Projects\Boonce\image.png”时,它就可以工作了。我需要将 image.png 放在哪里才能在没有特定内容的情况下显示。我听到人们说我不知道​​它是什么的工作目录。如果它是项目文件夹( Projects\Boonce\ ),那么我已经尝试过了,但它没有用。

4

2 回答 2

1

它应该放置在与.exe文件相同的目录中,或者取决于您的项目设置在其他目录中,可能是项目目录。

于 2013-03-21T04:04:54.137 回答
0

在 Visual Studio 中,您需要设置工作目录

去:

  • 项目
  • ( projectName ) 属性
  • 调试
  • 工作目录

并将路径设置为您的资产目录所在的位置。

默认值为$(ProjectDir),即.vcproj文件所在的目录。

于 2013-03-21T04:26:42.300 回答