begin process at 2012 05 27 17:35:25
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

OpenGL

 > [OPENGL - SDL] SYSTÈME DE MENUS A PARTIR D'UN FICHIER TEXTE

[OPENGL - SDL] SYSTÈME DE MENUS A PARTIR D'UN FICHIER TEXTE


 Information sur la source

Note :
9,67 / 10 - par 3 personnes
9,67 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :OpenGL Classé sous :menu, opengl, sdm, fichier, texte Niveau :Initié Date de création :04/08/2005 Date de mise à jour :05/08/2005 12:52:31 Vu / téléchargé :6 278 / 633

Auteur : asmanur

Ecrire un message privé
Commentaire sur cette source (3)
Ajouter un commentaire et/ou une note

 Description

Longtemps après GLIB (pour ceux qui se souviennent :p), j'ai décidé pour les besoins d'un jeu de refaire un système de menus presque intégralement chargés a partir d'un fichier texte.
Seulement, sous OpenGL impossible d'afficher du texte sans faire sa propre lib donc au passage j'en ai fait une qui
* Charge des bmp 24 bits et ajoute la trasparence si le paramètres alpha vaut true
* SplittBMP divise un bmp en partie de meme taille passé en paramètres et renvoie un tableau de GLuint correspondant aux texures (utiles pour les sprites et compagnie) ajoute la transparence par défaut.
* DrawText permet d'afficher du texte a l'endroit voulu et prend en compte le formatage printf ainsi que le changement de couleur de la forme <r;g;b> (par ex <255;255;255> mettra le texte en blanc)
* une structure Font dont on a besoin pour afficher du texe qui charge les données des lettres â partir d'un bmp de font (16 caractères x 16 caractères). La police doit avoir la meme largeur pour chaque carctère.
Ensuite la classe CMenu proprement dite gère
* les boutons (centre automatiquemetn le texte)
* les edits (assez évolué je pense meme si c'est pas encore les text box de win)
* et les check (assez moyens)
Cepandant il faut passer les coordonées de la souris dans une fonction les boutons de la sorusi dans un autre,.. Si voustravaillez avec SDL il y a
CManu::Gere'(SDl_Event,int,int);
qui s'occupe de retrouver les bons paramètres et des les envoyer au bonne fonction les deux int sont la pour indiquer la résolution pour le calcul des vraies coordonées
vous devez utiliser la fonction gluortho2D(-w/2,w/2,-h/2,h/2) sinon le progr se trompe dans le calcul des coordonées.
Ensuite un système d'interface avec le programmeur assez simplifié
GetElement(char* nale) retourne un pointeur sur le control qui a le nom name
ainsi qu'un membre event qui est une structure contenant :
event.type qui contient le type du message(MOUSE_ON,MOUSE_OUT,GOT_FOCUS,LOST_FOUS,PRE SSED,RELEASED,CHANGE )
et event.cause l'item qui a généré ce message exemple vous voulez savoir si la souris est sur l'edit nommé edit il suffit de faire :
MENU_Event event = Menu.GetEvent();
if(event.type==MOUSE_ON && event.cause==Menu.GetElement("Edit")
// le code en conséquence

Atention cepedant l'appel à Getevent réinitalise l'evenement c'est a dire qu'il faut le stocker dans une variable et ne pas faire plusieurs appel.
En outre j'ai eu besoin d'une lsite donc j'en ai fait une assez perfectionée doublement chainée.


 Conclusion

La texture carac.bmp n'est pas demoi elle est de remram44 et les texture s button_none,button_mouse_on,et button_pressed sont issus du jeu Battle For Wesnoth sous license GPL.
Je vais bientot ajotuer de nouveaux controls comboboc,.. quand j'aurais le temps
Si vous trouvez des bugs n'hésitez pas à m'en faire part ou si vous avez des suggestions,..

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

05 août 2005 07:24:45 :
Ajout d'un screen et correction d'un bug de résolution
05 août 2005 07:29:11 :
Ajout d'un screen et correction d'un bug de résolution
05 août 2005 07:36:14 :
Ajout d'un screen et correction d'un bug de résolution
05 août 2005 07:40:47 :
Ajout d'une screen et correction de bugs
05 août 2005 07:51:41 :
Ajout d'un screen
05 août 2005 07:57:22 :
ajout d'un screen
05 août 2005 11:36:38 :
Ajout d'un screen et correction de qq bugs
05 août 2005 12:52:31 :
ajout d'un screen

 Sources du même auteur

Source avec Zip [OPENGL DEV C++] LIBRAIRIE GLIB
Source avec Zip [DEV C++]SERPENT 3D

 Sources de la même categorie

Source avec Zip Source avec une capture AFFICHER DES COURBES DE BEZIER par shorzy
Source avec Zip Source avec une capture BASE/MOTEUR 3D EN QT/OPENGL (COMPLET ET FONCTIONNEL!) POUR U... par envi33
Source avec Zip Source avec une capture CLASSE AVEC OPENGL - OBJETS 3D ET ANIMATIONS par rasta63
Source avec Zip Source avec une capture LETTRES 3D AVEC OPENGL ET QT par opossum_farceur
Source avec Zip CUBE 3D GLUT32 VC++ ET DEVC++ par bobby03

 Sources en rapport avec celle ci

Source avec Zip ANALYSEUR DE TEXTE (MAJ V2) par sholvaC
Source avec Zip Source avec une capture ARKANOID par mesoft12
Source avec Zip DÉCOUPEUR DE FICHIERS OUTLOOK AVEC L'EXTENSION DBX par lann
Source avec Zip Source avec une capture EFFET 3D SUR TEXTE OPENGL par Arnaud16022
Source avec Zip Source avec une capture DU TEXTE SUR UNE TEXTURE OPENGL par Arnaud16022

Commentaires et avis

Commentaire de Kirua le 05/08/2005 01:50:27

Salut,
on a droit à un petit screenshot du résultat?

Commentaire de asmanur le 05/08/2005 07:14:32

euh je vais le rajouter si tu veux mais c'est assez vide c'est juste une petite demo

Commentaire de sithlords le 15/09/2005 19:19:21

Alors, personne a aimé ^^ ?
Moi je trouve ca utile.
Gabriel.

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Menu à entrées variables (Visual C++) [ par mary4 ] Bonjour à tous,Dans un projet Win32 (sous Visual C++ 7.1), je crée graphiquement un menu déroulant dans le fichier .rc. Le problème est que le nom et Fichier texte [ par Xneo ] Bonjour, je voudrais récupéré le texte d'un fichier texte pour le mettre dans une chaine de caractere. Grace a getline, pas de probleme pour récupéré remplacer ds un fichier [ par flatou ] salutds un executable compilé, j'ai une variable de type char initialisé avec le texte AMODIFIER. Ce que je veux faire, c'est ouvrir le fichier (bon c lecture fichier texte [ par amin79 ] Mon problème est de lire le fichier texte ci-joint et de mettre dans des tabkeaux int chaque colonne (ri, pi, di et yi) et une martrice int qui contie Comment ajouter un item au menu contextuel de windows? [ par JackosKing ] Bon, voilà, par exemple, quand on instal winrar, il ajoute au menu contextuel de tout type de fichier les items: "compresser", ou decompresser si c un Commentaires dans fichier texte [ par goutbouyo ] Salut,Je me sers d'un fichier texte pour stocker des infos lues par mon programme (coordonnées du monde pour un jeu), et je voudrais pouvoir mettre de gestion de Fichier texte [ par aciid_washor ] Bonjour, j'ai créé un programme qui me sert d'annuaire. L'annuaire en question est ecrit sous forme d'un fichier texte:nom telephonedéclarés comme s Impression decaractère ou d'un fichier texte [ par cecel ] SalutJe voudrais imprimer une chaine de caractère sur le port LPT1 ou imprimer un fichier texte avec visual C++.Merci d'avance.@+ Comment restituer des données sauvegardées sans bavure [ par LaPatoshe ] Bonjour, voila mon nouveau prob. J'ai une feuille contenant plusieurs zones d'édition. Je souhaite préremplir ces zones à l'aide de paramètres texte p cherche fichier texte contenant les mots du dico français...sans accent. [ par the godfather ] bonjour je cherche un fichier texte contenant les mots du dictionnaire francais mais qui soit tous sans accent...


Nos sponsors


Sondage...

CalendriCode

Mai 2012
LMMJVSD
 123456
78910111213
14151617181920
21222324252627
28293031   

Consulter la suite du CalendriCode

A découvrir



 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,530 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales