Bonjour tous le monde !
Depuis hier soir j'ai un petit probl�me avec un projet "semi"-pro: �tudiant en apprentissage, j'ai recherch� pour un projet un logiciel pour afficheur (qui permet d'afficher des informations, le m�me type de logiciel dans les pizzerias et cie).
J'ai un niveau plut�t correct en c++ et j'ai donc d�cid� de le coder avec sfml pour un test interne.
En ce qui concerne la structure globale, j'ai un classe Slide qui repr�sente un �cran avec 2 vector pour les textes et les images (sf::Text et sf::Sprite), une autre PlayerEngine qui s'occupe de lire pour le moment un fichier json.
Lorsque le "parser" rencontre un �l�ment "texte", j'ajoute dans le vector un sf::Text qui est retourn� par une fonction (cf code suivant).
Le probl�me survient apr�s dans une autre boucle lorsque j'essai de le dessiner gr�ce � la m�thode draw (window.draw(element) ): une violation de lecture se passe � ce moment depuis que j'ai rajout� le setFont dans la fonction (cf #2) ... A ce que j'ai vu sur internet, le vector perd les pointeurs qui lui sont envoy� par la suite ...
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24 switch(elements[j]["type"].GetInt()) { //Gestion du type case Element::Texte: slide.addText(getText(elements[j]["text"].GetString(), elements[j]["size"].GetInt(), pos)); break; case Element::Image: slide.addSprite(getSprite(elements[j]["image"].GetString(), pos)); break; } //... sf::Text PlayerEngine::getText(const std::string& text, int characterSize, sf::Vector2f pos) { sf::Text temp; sf::Font arial; // #2 arial.loadFromFile("arial.ttf"); //#2 temp.setFont(arial); //#2 temp.setString(text); temp.setCharacterSize(characterSize); temp.setPosition(pos); return temp; }Donc apr�s des recherches sur internet, et notamment concernant le choix du conteneur le plus optimis� pour ce que je semblait vouloir faire, (https://user.oc-static.com/files/313...000/313596.png) j'ai remplac� par std::list mais avec le m�me probl�me
Code : S�lectionner tout - Visualiser dans une fen�tre � part
1
2
3
4
5
6
7
8 void Slide::Run(sf::RenderWindow &window) { //... for(sf::Text const &t : m_texts) { //On dessine les textes ... window.draw(t); } //...}![]()
Merci d'avance de vos r�ponses
EDIT: ajout de l'image avec l'erreur
Partager