SDL + 2e fenêtre ??

cs_airun Messages postés 4 Date d'inscription vendredi 26 novembre 2010 Statut Membre Dernière intervention 5 janvier 2011 - 29 nov. 2010 à 11:36
cs_airun Messages postés 4 Date d'inscription vendredi 26 novembre 2010 Statut Membre Dernière intervention 5 janvier 2011 - 17 déc. 2010 à 11:00
bonjour à tous,

Je viens à vous car je suis devant un obstacle depuis une semaine et je sais pas comment le passer.
J'ai fais un programme en c avec la librairie SDL, cependant là je suis arriver à la fin de mon projet et j'ai besoin d'ouvrir une 2e fenêtre. Et devinez quoi... c'est pas possible en SDL.
Alors je me suis renseigner sur internet pour chercher des solutions(ou alternative) mais sans succes, mais une "pseudo-solution" pas très claire m'a été proposée: c'est d'utiliser l'api win32 pour ouvrir ma 2e fenêtre depuis un projet SDL :
Donc je voudrai savoir s'il est possible d'ouvrir une 2e fenêtre avec l'api win32 dans mon projet SDL ?. Sachant que dans cette 2e fenêtre j'intègrerai de la SDL et elle sera remplit des données envoyées depuis la 1ère fenêtre .

En fait, pour être plus précis, dans ma 1ère fenêtre j'ai fais un tableau de scores avec un chrono et j'ai besoin de cette 2e fenêtre pour afficher ce même tableau mais en plus simplifié et l'afficher sur un 2e écran.

PS: api win32 ou autre chose, du moment que j'arrive à ouvrir une 2e fenêtre

merci pour votre aide

4 réponses

pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 10
13 déc. 2010 à 19:27
Je connais un peu la librairie SDL, mais je n'ai jamais essayé de créer une 2ème fenêtre. Toutefois s'il n'est pas possible d'afficher une deuxième fenêtre. Une solution est possible sans passer par l'API Win32, on peut créer 2 programmes SDL, chacun contenant une fenetre. Puis lancer la deuxième fenêtre depuis la première en faisant par exemple
system ("fenetre_2.exe);

La première enregistre les scores dans un fichier, et la deuxième lit ces scores en boucle et les affiche.


Pop70
0
cs_airun Messages postés 4 Date d'inscription vendredi 26 novembre 2010 Statut Membre Dernière intervention 5 janvier 2011
14 déc. 2010 à 16:05
salut pop70,

Il est possible de lié les 2 programmes ? c'est à dire transmettre des variables du 1er programme au 2e ?
0
pop70 Messages postés 181 Date d'inscription mardi 6 avril 2010 Statut Membre Dernière intervention 7 janvier 2012 10
15 déc. 2010 à 16:29
Quand je veux lier 2 programmes, je les lie en réseau par protocole TCP, mais ici ça n'a pas vraiment d'utilité. Du coup quand c'est comme ça je procède par fichiers :

Programme 1 :

#include 
#include <fstream>

using namespace std; // Pas bien :) Mais c'est pour l'exemple...

int main ()
{


bool jeu = true;
int score = 0;

while (jeu)
{

score++;
ofstream fichier("Fichier_score.txt", ios::out | ios::trunc);
if (fichier)
{
 fichier << score;
}
else{
 cerr << "erreur";
}
fichier.close();
}
}


}


Programme 2:

#include 
#include <fstream>

using namespace std; 

int main ()
{


bool jeu = true;
while (jeu)
{
int score = 0;

ifstream fichier ("Fichier_score.txt", ios::in);
if (fichier)
{
 fichier >> score;
}
if (score > 1){
system ("cls");
cout << score;}
fichier.close();


}


}


Attention toutefois, d'habitude je ne met jamais ce code dans des boucles. Ici, le code va bouffer toutes les ressources... Il va sûrement falloir utiliser des fonctions du genre Sleep() ou Delay() dans la boucle, sinon le programme va tourner tellement vite qu'il va pas avancer

En espérant t'avoir au moins un peu aider...



Pop70
0
cs_airun Messages postés 4 Date d'inscription vendredi 26 novembre 2010 Statut Membre Dernière intervention 5 janvier 2011
17 déc. 2010 à 11:00
J'ai compris le principe, pendant que le programme 1 écrit les variables dans un fichier texte le 2e les lis. Mais sa me complique la vie plutot qu'autre chose, et c'est surtout que j'ai pas trop le temps de m'y mettre .
Ce que j'ai fait pour esquiver ce problème, c'est que j'ai en effet fait un 2e programme qui tourne en même temps que le 1er, mais sur un 2e ordi (parce que ma 2e fenêtre doit s'afficher sur un écran différent ). Et j'ai bricolé 2 claviers pour que lorsque j'appuie sur une touche et bien sa appuie sur les 2 claviers en même temps

mais merci quand même pour ton aide
0
Rejoignez-nous