Forum de la communauté SFML

Aide => Graphique => Discussion démarrée par: Lkk le Juin 21, 2023, 01:46:05 pm

Titre: Error: Could not load texture
Posté par: Lkk le Juin 21, 2023, 01:46:05 pm
Problème quand j'essaye de charger une texture, voici le passage du code en question :

void Player::initPlayer(float posX, float posY)
{
    if (!m_spriteTexture.loadFromFile("images/player.png")) // problème ici
    {
        std::cout << "Error: Could not load texture" << std::endl;
        return;
    }

    m_player.setTexture(m_spriteTexture);
    m_player.setPosition(sf::Vector2f(posX, posY));
}

J'ai déjà changer le répertoire de projet de travail.

J'utilise Visual Studio 2022 et j'ai également une erreur de débogage

Exception non gérée à 0x504638C4 (vcruntime140.dll) dans SMFL.exe : 0xC0000005 : Violation d'accès lors de la lecture de l'emplacement 0x0B092000.

Et aussi dans la sortie j'ai des caractères étrange :

Failed to load image "õ‗²²²²    Ìf┴± îh2█yîQ█y░ÅáÌG
ıf┌± ê0█yöc█yP^J
P^J
Éıhth_J
h_J
╠f˱ î4Ptî¼Èý8\|    ╦fȱ Ç                                                ┬fݱ îh2█yîQ█y░ŭ˨fµ± îîyG
îyG
    h│G
ê│G
        ­f ± î³/█y,c█yÏ,Ó{D░öp]J
´f­± î,sÎz©z░_J
        µfë± WGL_EXT_pixel_format_packed_float              aé± î╚7█yDV█y░½8]J

Óaø± î╚7█yDV█y(®`J
à
Éa£± ê X X

(il y en a beaucoup plus que ça)
Le problème persiste même quand je lance l'exécutable ou je met bien l'image de mon sprite dans le bon dossier.

Partie de player.cpp

#include "Player.h"
// Fonction d&#39;initialisation

void Player::initVariables()
{
    m_life = 3;
    m_speed = 0.5;
}

void Player::initPlayer(float posX, float posY)
{
    if (!m_spriteTexture.loadFromFile("images/player.png"))
    {
        std::cout << "Error: Could not load texture" << std::endl;
        return;
    }

    m_player.setTexture(m_spriteTexture); .
    m_player.setPosition(sf::Vector2f(posX, posY));
}
// Constructeur

Player::Player(float width, float height)
{
        initVariables();
        initPlayer(width / 2, height / 2);
}


partie de game.cpp
#include "Game.h"

// Fonction d&#39;initialisation
void Game::initVariables()
{
        m_player = nullptr;
        m_window = nullptr;
        m_gameStarted = true;
        m_gameOver = false;
        m_dt = 1.f / 60.f;
}

void Game::initWindow()
{
        m_videoMode.width = 800;
        m_videoMode.height = 600;
        m_window = new sf::RenderWindow(m_videoMode, "Survival & Zombie", sf::Style::Close | sf::Style::Titlebar);
}

void Game::initSprite()
{
        m_player = new Player(m_videoMode.width, m_videoMode.height);
}

// Constructeur & Destructeur

Game::Game()
{
        this->initVariables();
        this->initWindow();
        this->initSprite();
}


J'ai passé beaucoup de temps sur le problème et ça me bloque beaucoup pour mon apprentissage SFML,
Si vous avez besoin de plus d'informations je reste disponible.
Titre: Re: Error: Could not load texture
Posté par: G. le Juin 21, 2023, 09:53:11 pm
En général quand t'as plein de caractères étranges dans la console quand tu charges une image, c'est que tu compiles en mode Release en ayant lié la version Debug de SFML, ou à l'inverse compiles en mode Debug avec la version Release de SFML.
A vérifier :p