Eigenes Ingame Menü erstellen?

Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Neue Antwort erstellen

 

DJ_Mic

Betreff: Eigenes Ingame Menü erstellen?

BeitragDi, Jan 31, 2012 11:31
Antworten mit Zitat
Benutzer-Profile anzeigen
Hallo zusammen,

ich bin relativ neu bei BMax und wollte fragen wie ich ein Ingame Menü erstelle?

Hier ein Bsp. was ich meine:
user posted image

Ich möchte auch durch eigene Grafiken so ein ähnliches Menü nach basteln. Ich bin auf die MaxGUI Tutorials gestoßen:
http://maxgui.simongeisseler.ch/

Da arbeitet man aber mit dem Windows Style. Kann mir jemand dabei helfen?

Gruß
Dennis

ozzi789

BeitragDi, Jan 31, 2012 12:16
Antworten mit Zitat
Benutzer-Profile anzeigen
MaxGUI erstellt Windows Fenster per API Calls (?).
Somit kannst du MaxGUI schlecht als inGame GUI verwenden.. zudem kann man die Fenster auch nur begrentzt anpassen.

Ist halt nicht dafür gedacht Wink

Entweder du programmierst dir ne eigene GUI (liegt im Trend Wink ) oder du verwendest eine bestehende.
Habe leider keine zur Hand.


Grüsse
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Propellator

BeitragDi, Jan 31, 2012 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
*Prinzipiell* könnte man einen MaxGUI-Treiber schreiben, welcher Fenster mit Max2D pinselt. Ich bin mir jedoch unsicher, inwiefern das technisch auch einen Sinn hat.

Ich empfehle dir, mit den normalen Max2D Zeichenbefehlen eine GUI aufzubauen. Types bzw. OOP allgemein sollten dir dabei helfen.
Bei komplexen Systemen wie eine GUI es ist, sollte man sich auch vor dem Programmieren schon Designgedanken machen, wie man das ganze dann anspricht etc. (Also eine API definieren, sozusagen.)
Propellator - Alles andere ist irrelephant.
Elefanten sind die Könige der Antarktis.

Midimaster

BeitragDi, Jan 31, 2012 12:51
Antworten mit Zitat
Benutzer-Profile anzeigen
Es muss nicht immer gleich eine ganze GUI sein, um ein paar Optionen zu schalten. Wenn Du nur an ein Auswahl-Menü denkst kannst du es auch einfach "auf" die Oberfläche deines Programms "malen". Schau Dir mal dazu die Screenshots zu meinen MINIs an (ganz unten auf: https://www.blitzforum.de/showcase/371/ ), da hab ich das immer "von Hand" gemacht. Alle Knöpfe sind nur gefaked. Die Bedienung erfolgt dann durch simples Abfragen der Maus-Koordinaten.
Gewinner des BCC #53 mit "Gitarrist vs Fussballer" http://www.midimaster.de/downl...ssball.exe

theotheoderich

BeitragDi, Jan 31, 2012 12:59
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie Midimaster schon schrieb....wenn Du noch recht neu bei Blitzmax dabei bist, empfehle ich Dir auch ein Gamemenü so simpel wie möglich zu gestalten.
Es ist lohnenswerter die Arbeit in das Spiel und nicht in das Menü zu stecken.

Ein InGameMenü muss auch nicht immer verschiebbare Fenster haben. Es reicht die Buttons als Grafiken mit zwei Frames zu hinterlegen. Durch eine simple Maus/Kooridinatenabfrage (mausX > ButtonX and mausX < ButtonX .... Y ebenso) erfragst Du dann ob sich die Maus über dem Button befindet.
Dann kannst Du ein anderes Frame anzeigen.
Gruß
TheoTheoderich
--
The box label said, "Requires Windows XP or better.", so I bought an Amiga Computer.
 

PhillipK

BeitragDi, Jan 31, 2012 19:52
Antworten mit Zitat
Benutzer-Profile anzeigen
Wie man sowas schreibt, kommt auf deine Definition von "GUI" an.
Grundsätzlich sei zu empfehlen: Beschäftige dich mit grundlegendem - zb eine grafik anzeigen und als Type zu speichern (X,Y, Breite, Höhe)
Danach kannst du es ausbauen !

Zb : nehm ein fenstelayout und zerteil es in 3x3 kacheln (4 ecken, 4 seiten, ein "mittelteil") - nun versuche, über eine funktion (CreateGUIWindow(x,y,breite, hoehe)) die teile so dahin zu quetschen, das es gut aussieht. Ob du hier bei "tilest" oder einfach die zwischenparts (mitte + kanten) streckst, bleibt dir überlassen. 2te variante sollte aber besser aussehen und ist einfacher.
Hierzu gehört ein wenig mathe (grundlegendes, also nichts schweres) sowie ein wenig überlegen Smile

Hast du das soweit geschafft, das heißt eine art "Fenster" erstellt und kannst dieses anzeigen, bleibt nichts weiter zu tun als weitere grafiken einzubauen.
Ein Tipp: Unterteile alles in Objekte / Types.

Zu guter letzt musst du nurnoch rausfinden, welches objekt sich unter der maus etc befindet. Das schaffst du über gespeicherten Positionen sowie Mausklicks.

Ps: Wenn du dich mit oben genannten begriffen nicht auskennst, solltest du hier ein tutorial zu rate ziehen. Meiner meinung nach ist es extrem einfacher, mit Types eine gui zu programieren, als mit Globals / Locals und tausenden von funktionen!
 

DJ_Mic

BeitragMi, Feb 01, 2012 11:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Okay, ich danke euch vielmals für eure Hilfestellung! Ich hab aber überlegt erstmal, ans wesentliche zu gehen, die GUI kann ja später folgen... ^^

Wenn ich soweit sein sollte, melde ich mich wieder Smile
Danke! Smile

ozzi789

BeitragMi, Feb 01, 2012 12:48
Antworten mit Zitat
Benutzer-Profile anzeigen
DJ_Mic hat Folgendes geschrieben:
Okay, ich danke euch vielmals für eure Hilfestellung! Ich hab aber überlegt erstmal, ans wesentliche zu gehen, die GUI kann ja später folgen... ^^


Weise Einsicht!
0x2B || ! 0x2B
C# | C++13 | Java 7 | PHP 5

Neue Antwort erstellen


Übersicht BlitzMax, BlitzMax NG Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group