为什么这个SFML C ++代码不起作用?

时间:2014-07-18 16:10:05

标签: c++ sfml

#include "StdAfx.h"
 #include "SplashScreen.h"
 #include "Game.h"


 void SplashScreen::Show(sf::RenderWindow & renderWindow)
 {
   sf::Image image;
   if(image.loadFromFile("images/SplashScreen.png") != true)
   {
     return;
   }

   sf::Sprite sprite(image);

   renderWindow.draw(sprite);
  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;
      }
     }
 }
}

它说"" sf :: Sprite精灵(图片); ""括号中的图像带下划线并出现错误 - 没有构造函数的实例与参数列表匹配

有任何帮助吗?

1 个答案:

答案 0 :(得分:0)

sf::Sprite并不是sf::Image作为构造函数而是sf::Texture。 使用sf::Texture代替sf::Image,它应该有效。

因此,初始化Sprite的代码应该是:

sf::Texture texture;
if(texture.loadFromFile("images/SplashScreen.png") != true)
{
    return;
}
sf::Sprite sprite(texture);