![]() |
OGL - Menu HI Da es sicher Leute unter uns gibt die nicht wissen wie man ein OGL Menu baut es aber gerne wüssten hab ich mir gedacht schreib ich ein Tutorial für ein recht komfortables Menu. Als erstes überlegen wir uns was wir brauchen und wie wir es umsetzten wollen. An sich gibt es zwei Methoden ein Menu umzusetzen einmal ein reines Textmenu oder ein Menu mit Zellen (also gemalten Boxen). Ich habe mich für das reine Textmenu entschieden weil es einfach besser rüber kommt. Bevor wir mit einer Funktion Anfangen brauchen wir globale Variablen und zwar: Code: //Für die Das erstellen und ausgeben der Schrift Code: void glPrint(float x, float y, float z, float r, float g, float b, const char *fmt, ...) Doch bevor wir die Funktion glPrint benutzten können müssen wir erst eine Schrift in den Speicher laden. Das geschieht mit der Funktion BuildFont: Code: GLvoid BuildFont(GLvoid) Dazu hier und hier mehr. Nun kommen wir zu unserem eigentlich Menu und zwar mit der Funktion DrawMenu: Code: void DrawMenu(int x, int y) Und denkt daran das wenn ich z.b. 12 Elemente benötigt ihr das Array auf dem entsprechen erweitert. Nun kommen wir auch schon zum Steuern durch das Menu mit den Pfeiltasten und aufgerufen wird das Menu mit „Del“ oder auch „Entf“. Der Teil kommt in die Funktion glViewport Code: Nun aber ist uns aufgefallen das wir mit Funktionen Arbeiten die wir noch gar nicht kennen und zwar „MenuSelect()“, „MenuUp()“ und „MenuDown()“. Damit wir auch diese Funktionen haben kommen sie nun auch gleich Code: void MenuUp() Nun noch ein kleiner Teil in glEnable und dann haben wir es auch schon fast geschafft. Code: if(!FirstInit) Code: void InitHack() { Nun noch die Strukturen und es ist geschafft. Code: typedef struct { Ich hoffe dieses Tutorial hat hat euch geholfen. Msg Suxx |
thx... jetzt mach ich mir auchmaln menü :) |
ps copy&past wird nich zwingend funktionieren :) |
ok dann nehm ich das mit dem panzerGL zurück :rolleyes: Zitat:
|
thx :) werd ich gleichmal einbauen // Edit so gemacht :) |
Hmmm... sry aber klappt bei mir net :-/ muss aber net an dem tut liegen, vl stell ich mich auch einfach dumm an. Code: Kompilierung läuft... Code: // Für die Keyverwaltung |
liegt sicher daran das du die strukturen nicht definiert hast das muss davor geschehen am besten in einem header file Zitat:
Zitat:
|
is im m3nu.h. Hab ich dass denn am anfang richtig gemacht mit glPrint und GLvoid BuildFont(GLvoid) ? Thx, dass du mal nachguckst :D |
jojo ich glaube hab was vergessen ^^ #include <gl/gl.h> #include <gl/glu.h> #include <gl/glaux.h> #include <windows.h> #include <stdio.h> #include <stdarg.h> #include <math.h> #include <Winbase.h> #include <Stdlib.h> und die errors C:\lambert+wh+white walls\var.h(20) : error C2146: Syntaxfehler : Fehlendes ';' vor Bezeichner 'menu' C:\lambert+wh+white walls\var.h(20) : error C2501: 'menu_s' : Fehlende Speicherklasse oder Typbezeichner liegen daran das du menu_s menu und draw_s draw in der opengl32.cpp haben musst |
die sind doch standartmässig im opengl32.h ... ich glaub ich hab in meinen funktioenen, die dauf menu zugreifen was falsch gemacht :-/ Edit: Ich sollte mal schneller abschicken ;) thx |
jo thx :) Aber ich hab da wohl zu viel fehler reingemacht :-/ ich dachte, dass ist egal, wo ich das reinmach. nu bekomm ich nochmehr fehler :D Code: C:\lambert+wh+white walls\m3nu.h(21) : error C2065: 'base' : nichtdeklarierter Bezeichner |
dizzy weisste wa sich up einfach kurz mein source dann kannste es dir nochmal in ruhe angucken :) |
das is lieb :) Edit: hängs doch einfach an :D |
nice tut ....aber verstehn tu ich da leider net viel....werd mich auch ma bissl mit c++ beschäftigen! |
deine cvars müssen auch mit denen aus dem hack übereinstimmen. sonst klappt es natürlich nicht. |
so nun geht auch dieses Tutorial aus dem Vip-Bereich an die Öffentlichkeit ich wünsch euch viel Spaß damit :) |
hehe nu können sich manche nen menü machen, aber keinen hack dazu :P ich behaupte mal nu kommen 40-50 fragen was damit machen und was es überhaupt ist (und mal ne frage die kommen wird) Nein, dass kann man nicht inne cfg schreiben. |
kann man in so ein menü auch so sachen wie namen, nextmap, adminsachen, oder so says machen ?? |
Zitat:
|
Ich danke dir erstmal für dieses Tutorial. Nur ich habe ein Problem. Und zwar habe ich Zitat:
Code: --------------------Konfiguration: opengl32 - Win32 Release-------------------- |
Alle Zeitangaben in WEZ +2. Es ist jetzt 05:41 Uhr. |
Powered by vBulletin