Bonjour.
Je suis en train de réaliser un petit éditeur de cartes pour un jeu façon rpg. Il serait constitué de 3 fenêtres :
- une gérée par Qt (contenant un menu pour sauvegarder, etc ... Je ne m'y attarde pas plus que ça)
- une fenêtre contenant le tileset sur laquelle on peut sélectionner la tuile gérée par SFML
- une fenêtre sur laquelle on vient poser les tuiles et constituer graphiquement la carte, aussi gérée par SFML
Actuellement j'ai des problèmes avec les deux dernières fenêtres, j'aimerais qu'elles soient gérées dans deux threads séparés de la manière suivante :
int main(int argc, char args[])
{
sf::Thread threadWindowTileSet(&windowTileSet);
sf::Thread threadWindowMap(&windowMap);
threadWindowTileSet.launch();
threadWindowMap.launch();
return 0;
}
En lançant un thread uniquement cela fonctionne, mais pas avec deux en même temps.
De plus il est dit dans le
tutoriel que l'on peut protéger les données partagées. Je souhaiterais que les deux theads travaillent sur un objet passé en argument du genre :
void windowTileSet(Map carte);
Est-ce possible et dois-je donc utiliser les mutex ?
Merci.