Comme tiré directement du didacticiel graphique-sprite sur le site Web SFML
"The loadFromFile function sometimes fails with no obvious reason. First, check the error message printed by SFML in the
standard output (check the console). If the message is unable to open file, make sure that the working directory (which is the
directory any file path will be interpreted relatively to) is what you think it is: when you run the application from the explorer, the
working directory is the executable folder, but when you launch your program from your IDE (Visual Studio, Code::Blocks, ...) the
working directory is sometimes set to the project directory instead. This can generally be changed easily in the project settings."
Assurez-vous donc que votre image est d'abord nommée correctement et assurez-vous de vous assurer qu'elle est dans le dossier correct, c'est-à-dire dans votre répertoire de travail.
De plus, si la texture ne charge pas au lieu de renvoyer un sprite vide, vous pouvez signaler une erreur à la console, puis lancer une exception. De cette façon, on vous dit que le sprite ne se charge pas correctement et le programme devra gérer l'exception, sinon il sera terminé. De cette façon, aucun sprite dans le jeu ne devrait avoir une texture blanche à moins que
Quelque chose comme ça:
sf::Texture texture;
if (!texture.loadFromFile("image.png"))
{
throw std::runtime_error("Could not load image.png");
}