Bonjour,
Lorsque je créé une classe avec un sf::Text en private, le compilo dit que tout est ok, mais lorsque le programme ce lance, RIP l'application et VS m'ouvre la classque boite de dialogue :
Exception levée à 0x00007FF890652C71 (sfml-graphics-d-2.dll) dans 2DGame.exe : 0xC0000005 : Violation d'accès lors de la lecture de l'emplacement 0xFFFFFFFFFFFFFFFF.
Voici l'exemple d'u code qui plante sous cette erreur.
//cpp
#include <SFML/Graphics.hpp>
#include "core.hpp"
int main() {
sf::RenderWindow winMain(sf::VideoMode(1280, 720), "Test");
CreateText textTest(25, "Yolo", sf::Color(50, 50, 50));
while (winMain.isOpen()) {
sf::Event event;
winMain.pollEvent(event);
while (winMain.pollEvent(event)) {
switch (event.type) {
case sf::Event::Closed:
winMain.close();
winMain.draw(textTest.drawText());
break;
}
winMain.clear();
}
}
}
//hpp
#ifndef CORE_HPP
#define CORE_HPP
class CreateText {
public:
CreateText(unsigned short size = 30, std::string strText = "", sf::Color tColor = sf::Color(255, 255, 255), unsigned short tTickness = 0, sf::Color tColorTick = sf::Color(255, 255, 255)) {
sf::Font temp;
temp.loadFromFile("C:/Users/dyraz.DYRAZZ/Desktop/Textures/fontGame.otf");
oText.setFont(temp);
oText.setCharacterSize(size);
oText.setFillColor(tColor);
oText.setOutlineThickness(tTickness);
oText.setOutlineColor(tColorTick);
oText.setString(strText);
}
sf::Text drawText() { return oText; }
private:
sf::Text oText;
};
#endif
[/font]
Cet exemple de code est bidon mais pourquoi le sf::Text ne peut pas être instancié ?
Merci d'avance