2017-12-05 18 views
0

最近、SFMLの学習を開始しましたが、画像を表示しようとしています。画像は画面上に表示され、矢印キーやWASDで移動可能とされています。SFMLスプライトが表示されない

ただし、画像「image.png」を読み込むために、F の空白の画面が表示されています。理由:ファイルを開くことができません。ビットマップが表示されたときに動作します。これをどうすれば解決できますか?

// ConsoleApplication8.cpp : Defines the entry point for the console application. 

#include "stdafx.h" 
#include <SFML\Graphics.hpp> 
#include <iostream> 

int main() 
{ 
    sf::RenderWindow window(sf::VideoMode::getDesktopMode(), "SFML works!", sf::Style::Resize | sf::Style::Default); 
    sf::CircleShape shape(100.f); 
    sf::Vector2i position(-9,0); 
    shape.setFillColor(sf::Color::Green); 
    sf::Texture texture; 
    if (!texture.loadFromFile("image.png", sf::IntRect(10, 10, 32, 32))) 
    { 
     std::cout << "Could not load image\n"; 
     system("pause"); 

    } 
    sf::Sprite Sprite; 
    Sprite.setTexture(texture); 
    while (window.isOpen()) 
    { 

     sf::Event evnt; 
     while (window.pollEvent(evnt)) 
     { 
      switch (evnt.type) 
      { 
      case sf::Event::Closed: 
       window.close(); 
       break; 
      } 
     } 
     if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::W)) { 
      Sprite.move(0.0f, -1.0f); 
     } 
     if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::S)) { 
      Sprite.move(0.0f, 1.0f); 
     } 
     if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::A)) { 
      Sprite.move(-1.0f, 0.0f); 
     } 
     if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::D)) { 
      Sprite.move(1.0f, 0.0f); 
     } 
     if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Up)) { 
      Sprite.move(0.0f, -1.0f); 
     } 
     if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Down)) { 
      Sprite.move(0.0f, 1.0f); 
     } 
     if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Left)) { 
      Sprite.move(-1.0f, 0.0f); 
     } 
     if (sf::Keyboard::isKeyPressed(sf::Keyboard::Key::Right)) { 
      Sprite.move(1.0f, 0.0f); 
     } 
     window.setPosition(position); 
     window.clear(); 
     window.draw(Sprite); 
     window.display(); 
    } 

    return 0; 
} 

答えて

0

image.pngが正しい場所にあることを確認してください。 \Visual Studio 2015\Projects\*ProjectName*\*ProjectName*

そこにある場合は、実行可能ファイルを含むディレクトリに配置してください。

\Visual Studio 2015\Projects\*ProjectName*\Debug(or release) 
+0

私は視覚的なスタジオで実行可能とするとき、私は実行してデバッグを追加した画像が表示されますが、私は直接.exeファイルをクリックしたとき、私は、画像「image.png」をロードできませんでしたます。 – Eitan

+0

実行ファイルと同じディレクトリに入れましたか? – HowITsDone

+0

私はディレクトリを実行可能ファイルに置きますが、自分のPC用に変更しました。 – Eitan

関連する問題