С++ SFML 2.0 Загрузка изображения из файла

Я новичок в SFML, и я использую SFML 2.0. Я только что написал код, и он работает нормально, но проблема в том, что когда я загружаю изображение для отображения на экране, оно дает мне ошибку, которая

Failed to load image "Splashscreen.png". Reason : Unable to open file
Failed to load image "Mainmenu.png". Reason : Unable to open file

Мой код для загрузки изображения с URL-адреса

Для изображения меню

sf::Texture menuTexture;


menuTexture.loadFromFile("Mainmenu.png");
    {
        sf::Sprite sprite(menuTexture);

        MenuItem playButton;
        playButton.rect.top = 145;
        playButton.rect.height = playButton.rect.top + 380;
        playButton.rect.left = 0;
        playButton.rect.width = playButton.rect.left + 1023; 
        playButton.menuAction = Play;

        MenuItem exitButton;
        exitButton.rect.top = 0;
        exitButton.rect.height = exitButton.rect.top + 1023;
        exitButton.rect.left = 383;
        exitButton.rect.width = exitButton.rect.left + 560; 
        exitButton.menuAction = Exit;

        menuItem.push_back(playButton);
        menuItem.push_back(exitButton);

        window.draw(sprite);
        window.display();

        return GetMenuResponse(window);
    }

Для изображения экрана-заставки

sf::Texture texture;
    if(texture.loadFromFile("Splashscreen.png") != true)
    {
        return;
    }

    sf::Sprite sprite(texture);
    renderWindow.clear();
    renderWindow.draw(sprite,sf::RenderStates::Default);
    renderWindow.display();
    sf::Event event;
        while(true)
        {
            while(renderWindow.pollEvent(event))
            {
                if(event.type == sf::Event::EventType::KeyPressed 
                    || event.type == sf::Event::EventType::MouseButtonPressed
                    || event.type == sf::Event::EventType::Closed)
                {
                    return;
                }
            }
        }

Изображение не загружается, может кто поможет решить эту проблему.

Но когда я создаю свой проект и запускаю ту же программу из папки отладки, я имею в виду, что когда я запускаю файлы exe, изображения отображаются, но когда я запускаю программу из Visual Studio 2010, изображения не загружаются. И когда я запускаю программу в режиме выпуска, программа вылетает.


person Haseeb Khan    schedule 11.12.2012    source источник


Ответы (1)


Вы проверили, что файл находится в вашем рабочем каталоге? Он может отличаться от выходного каталога!

person Skalli    schedule 11.12.2012
comment
Спасибо, чувак, это решило мою проблему, я переместил файлы в рабочий каталог, и это сработало. - person Haseeb Khan; 11.12.2012
comment
Но программа не запускается в режиме Release, происходит сбой - person Haseeb Khan; 11.12.2012
comment
У вас могут быть разные настройки для режима отладки и выпуска. Поэтому проверьте, применили ли вы изменения ко всем конфигурациям. У меня есть привычка менять рабочие каталоги на выходные каталоги и иметь там все необходимые файлы. Спасает меня от многих проблем. - person Skalli; 11.12.2012
comment
Спасибо человек отлично работает. Не могли бы вы сказать мне, если создать папку в Visual Studion Solution и скопировать файлы в эту папку, мне нужно также скопировать все эти файлы в рабочий каталог? - person Haseeb Khan; 11.12.2012
comment
точно так же, как я копирую изображения в папку (фильтр), которую я создал в обозревателе решений, но я не копировал изображения в рабочий каталог. Вот почему изображения не обуваются. - person Haseeb Khan; 11.12.2012
comment
@HaseebKhan: Да, я думаю, вам нужно вручную скопировать все файлы в рабочий каталог, но я не уверен. - person Skalli; 11.12.2012