aufbau eines eigenen GUIs
Übersicht

![]() |
mas93Betreff: aufbau eines eigenen GUIs |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi Leute,
Ich träume schon seit längerem von meinem eigenen Gui. Und da es ja im moment so aussieht als ob es Mode wäre, sein eigenes Gui zu machen, wollte ich mich auch mal daran versuchen. Meine Frage ist nur wie ich das am besten aufbaue, dass andere Leute das GUI später auch einfach verwenden können. Soll ich das irgendwie mit unzähligen functions machen? Und am besten denke ich auch die ganzen Fenster und buttons mit Types zu machen. Wäre nett wenn ihr mir da ein paar tipps geben könntet. Wie gesagt, das Problem liegt nur an dem aufbau, dass es später möglichst komfortabel wird. mfg mas93 |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Am besten wird sein du schaust dir mal schon bestehende GUIs an und guckst wie es dort gemacht wurde. ( Bsp: BlitzUI, AlphaGUI, F-UI, IGlass, NGui, escape etc. )
Dann suchst du Dir die Vorteile raus und gestaltest es so wie du denkst. Auf Funktionen würde ich in jedem Fall setzen, wobei ein Message System auch seinen Reiz hat - beides ist natürlich am komfortablesten. Wichtig in jedem Fall, für den späteren User, eine ausführliche und übersichtliche Hilfe - sonst lässt man das GUI fallen wie eine heiße Kartoffel, denn gerade hier kommt in jedem Fall eine Flut von Funktionen oder/und Parametern auf den späteren Nutzer zu. Mit Types zu arbeiten ist in jedem Falle sinnvoll - alles andere schränkt ein und verursacht nur Chaos. MfG EPS |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
![]() |
DerKeks |
![]() Antworten mit Zitat ![]() |
---|---|---|
Also ich arbeite nebenbei auch an einer GUI für mein aktuelles Projekt und benutzen ebenfalls Types und Functions.
Wenn du Hilfe brauchst oder so kannst mich ja mal in ICQ adden ( 355514817 ) MfG DerKeks |
||
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
[Edit]Frage entfernt, bin selber darauf gekommen[/Edit] | ||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich kann dir jetzt nicht genau sagen warum explizit der Fehler entsteht (so genau hab ich es mir nicht angesehen), kann dir aber den Tipp geben:
Wenn die Bedingung erfüllt ist, du also sowohl den Mausklick registrierst als auch das Rectsoverlap erfüllt ist, du die Schleife im Anschluß mit EXIT verlassen kannst. Den Rest brauchst du nicht mehr prüfen denn: Die Maus kann immer nur an einer Stelle - bzw. über einem Fenster - zu einem Zeitpunkt sein ! Diesen Grundsatz empfehle ich Dir im übrigen für sämtliche Prüfungen in einem GUI. |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
![]() |
hecticSieger des IS Talentwettbewerb 2006 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Es gibt schon so viele GUIs auf die man zurück greifen kann. Und vor allem ist es nicht ''mal so eben gemacht''. Falls aber explizit Interesse besteht, so würde ich mir Gedanken darüber machen, was gerade Spieleprogrammierer gebrauchen könnten. Also keine GUI like Windowsstyle mit ListBox, Scrollbalken usw... sondern eine rein auf Spiele abgeschnittene GUI mit Animationseffekten und anderem ohne den 1000 Sachen die man sonst so bei einer GUI vorfindet. Tabelarisch aufgebaute Spiele wie Fussballmanager gibt es nun nicht so viele. | ||
Download der Draw3D2 V.1.1 für schnelle Echtzeiteffekte über Blitz3D |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@Hectic: Ich weiss, dass man sowas nicht mal eben macht. Ich werde es dennnoch versuchen.
Aber das ist ne gute Idee, mit dem Extra für Spiele. Nur was kann man da alles gebrauchen? Ich habe mir mal gedacht, eventuell so tabellen, für z.b Highscore oder beim Fussballmanager die Bundesliga tabelle oder so. Was kann man da noch so alles gebrauchen? mfg mas93 |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
EPS |
![]() Antworten mit Zitat ![]() |
---|---|---|
das ist ne gute Idee mit dem GUI für Spiele. Spontan fällt mir da z.B. ne ordentliche Texteingabe ein (mit BitmapFonts) für HighScore Listen etc.
Desweiteren Slider (für Laustärke u.ä.), RadioButton bzw. eher Checkboxen für Optionen - sowas in der Richtung. |
||
mGUI - Graphical User Interface für Blitz3D...Informationen gibt es hier
Man kann sich öfter als zweimal im Leben halb tot lachen. |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
@EPS hey, gute ideen, werd ich mir gleich mal ransetzen.
Nur was meinst du mit ner ordentlichen Texteingabe? Könntest du mir as etwas genauer erklären? mfg mas93 |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Eingeproggt |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich versteh unter ordentlicher Texteingabe eine Texteingabe nach allen Regeln der Kunst ![]() Also mit Rückschritt, Cursor, Entf, Einf, event. sogar mit Maus Cursor setzen... Im Prinzip wie Word nur einzeilig ![]() Und wie EPS schon erwähnte mit Bitmap-Fonts (oder ich würd wahlweise auch mit normalen Fonts machen) Das alles zusammen wär schon ziemlicher Luxus. mfG, Christoph. |
||
Gewinner des BCC 18, 33 und 65 sowie MiniBCC 9 |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ahh, ok verstehe, werd ich mich mal dran versuchen^^
Ich habe bisher eingebaut: -Fenster können erstellt und betitel und verschoben werden -Buttons können erstellt, einem fenster zugeordnet werden und sehr einfach abgefragt werden -Slider können erstellt und den Maximal wert angegeben werden und einfach abgefragt werden Besonders stolz bin ich auf meine slider, man kann z.b einstellen, dass der höchste wert des Sliders 5 ist und dann der slider in 5 teile eingeteilt wird. Als nächstes versuche ich jetzt dann die Text sache. hier mal ein screen: Und das alles mit diesem stückchen code: Code: [AUSKLAPPEN] Graphics 800,600,32,2
SetBuffer BackBuffer() Include"guinew.bb" ;Name$,x,y,x_size,y_size,Titel$ CreateWindow("main1",100,200,500,300,"Test1") CreateWindow("main2",300,100,300,300,"Test2") ;Name$,x,y,Titel$,Fenster$ CreateButton("Button1",10,10,"Button1","main1") CreateButton("Button2",10,40,"Button1","main1") CreateButton("Button1",10,10,"Button1","main2") CreateButton("Button2",10,40,"Button1","main2") ;Name$,x,y,Max_Wert,Fenster CreateSlider("Slider1",30,100,8,"main1") Repeat Text 50,50,"Slider Wert: "+GetSliderVal("Slider1") Text 50,80,"Button1 Wert "+GetButtonVal("Button1") UpdateGui() Flip Cls Until KeyHit(1) |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
0penguin0 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
du solltest neben der button GetButtonVal() noch eine funktione machen, mit der man prüfen kann, ob des cursor über dem button ist. für hilfe-texte oder ähnliches, da es ja für ein spiel werden soll (könntest du vielleicht auch direkt ins spiel einbauen). | ||
i never finish anyth |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Versuch mal eine Art RTF oder Multyline Textbox zu bauen, ich glaube das wäre für spiele echt praktisch.
Vorallem wenn man sie mit Readonly vershen könnte(für Chatfenster o.ä.). lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
ist schon lange drinne^^
Die Function gibt den Wert 1 zurrück wenn der mauszeiger über dem button ist, und 2, wenn gedrückt wurde mfg mas93 |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Auch eigene Styles wären hilfreich.
P.S. Gleichzeitig geposted^^ lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
jap, ich werde das ganze so machen, dass man seine eigenen styles machen kann.
Soo, aber ich hab gerade mal Das Zeugs mit der TextBox gemacht Ist zwar noch nicht ganz fertig, aber man kann schon einiges machen. Mit folgendem code erstellt man eine Textbox: Code: [AUSKLAPPEN] ;Name$,x,y,x_size,y_size
CreateTextBox("Box1",0,600,200,200) Nun kann man beliebig viele Textboxen erstellen und Sie mit Bitmapfonts zu texten^^ Ich hab auch schon den Zeilen umsprung eingebaut, d.h.:Es geht automatisch in die nächste/vorherige Zeile. Ich musste leider Hectics bitmapfont misshandeln, da ich keine gefunden hab und mir in der Kürze keinen eigenen machen wollte(Hoffe das geht in Ordnung) Hier mal ein aktueller screen: Morgen werde ich dann noch die ganzen Spässe mit dem markieren und In zwischenablage kopieren einbaun. mfg mas93 |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hy, sieht schin gut aus,
bau die TextBox doch so, dass man mit(z.B.: \r\n (Neue Zeile)) einen Zeilenumbruch machen kann..... Und das man sie les-und unlesbar machen kann. lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
![]() |
mas93 |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ähm sry, aber ich kapiers mal wieder nich was du meinst xD
Also wo soll man das \r \n eingeben können? Zeilenumbruck geht ja automatisch am zeilenende, notfalls könnte man auch einfach solang leertaste drücken Und das mit dem sichtbar und unsichtbar, wo is da der Sinn? Das sind doch so input boxen. Und warum sollte man dann nicht sehen, was man eingibt? Aber danke für deine Ideen und deine Kritik. Wäre nett wenn du das alles nochmal genauer erklären könntest mfg marius |
||
www.lpbase.de
Meine Linkin Park Fanseite[Noch im Aufbau] |
![]() |
fire |
![]() Antworten mit Zitat ![]() |
---|---|---|
ich schätze mal mit unlesbar meint er das man die textbox wie ein passwortfeld nutzen kann, also man gibt 12345 ein, aber es wird nur ***** angezeigt.
und mit /n ne neue zeile anfangen würde ich auch vorschlagen, kannst natürlich auch alles mögliche als 'new line' zeichen nehmen, aber /n ist nun einmal ein weitverbreitetes 'new line' zeichen (z.B. in C++,php ....) mfg fire |
||
1 Lichtjahr = 9.454.254.955.488.000 m |
![]() |
Jo0oker |
![]() Antworten mit Zitat ![]() |
---|---|---|
Nein, ich meinte mit readonly, das man nicht reinschreiben kann, sondern
nur lesen. und mit /r/n so viel wie: Code: [AUSKLAPPEN] DeineInsertFunction(textbox, "Hallo /r/n wie geht es dir...." Das er dann ein Zeilenumbruch macht. lg Jo0oker |
||
Tehadon, das kostenlose 3D RPG
www.tehadon.de http://www.blitzforum.de/worklogs/14/ Das Abenteuer wird beginnen! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group