Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

Käsekönig

1x Contest-Sieger

  • »Käsekönig« ist der Autor dieses Themas
  • Private Nachricht senden

1

22.12.2012, 23:06

GUI-Engine (MyGUI)

Hallo,

ich wollt bei meinem kleinen Spiel jetzt mal bisschen was fürs Aussehen tun und da wollt ich mal mit dem Menü und so anfangen - und dafür würd sich doch eine GUI-Engine (oder wie man das auch immer nennt) lohnen. Hab mir dazu mal MyGUI angeschaut und heruntergeladen, allerdings hab ich überhaupt keinen Plan, wie und wo ich da anfangen muss. Kann ich das überhaupt in Verbindung mit SFML benutzen, bzw. ist MyGUI überhaupt eine eigene Engine (weil sie immer in Verbindung mit OGRE genannt wird)?

Würd mich über Hilfe freuen. Vielen Dank schon mal im Voraus. :)

eXpl0it3r

Treue Seele

Beiträge: 386

Wohnort: Schweiz

Beruf: Professional Software Engineer

  • Private Nachricht senden

2

23.12.2012, 00:45

Meinst du diese da?

Es kommt halt jetzt ganz darauf an, was du machen willst.
Wichtig ist zuerst einmal zu wissen mit was du arbeist. Du hast SFML erwähnt, also nehme ich an du verendest auch SFML, oder?

Eine weitere wichtige Frage ist, ob die GUI über deine Spielgrafiken zeichnen willst oder nur am Rand.
Für die erste Variante kann man, da SFML auf OpenGL basiert, theoretisch jede GUI verwenden, welche das Rendering mit OpenGL macht.
Für die zweite Variante gäbe es dann die normalen GUI libraries wie Qt, wxWidgets, GTK, etc. mit welchen man dann ein Widget erstellen kann, welches dann innerhalt SFML rendert.

Ich gehe jetzt mal aus, dass du für dein Menü das alles über deinen SFML Sachen haben willst.
Dafür gibt es dann wie bereits erwähnt so einige Libraries:
Wie man die nun im Detail verwendet wird zum grössten Teil auf der respektiven Webseite erklärt. Einige sind recht einfach zu verwenden, da sie speziel für SFML geschrieben wurden (SFGUI & TGUI), während man bei anderen zuerst noch einen Renderer für SFML schreiben muss/kann/darf.

Und nochmals wegen MyGUI, ich weiss nicht, ob es möglich ist dies mit SFML zu verbinden...

PS: GUI-Engine wird normal eigentlich nie verwendet, meistens eher GUI Library o.ä.
Blog: https://dev.my-gate.net/
—————————————————————————
SFML: https://www.sfml-dev.org/
Thor: http://www.bromeon.ch/libraries/thor/
SFGUI: https://github.com/TankOs/SFGUI/

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »eXpl0it3r« (23.12.2012, 00:56)


Käsekönig

1x Contest-Sieger

  • »Käsekönig« ist der Autor dieses Themas
  • Private Nachricht senden

3

23.12.2012, 19:50

Ich hab mir einfach mal SFGUI angeschaut, schaut doch nicht schlecht aus, scheint einfach zu verwenden und ist eben für SFML gemacht, also genau das richtige momentan für mich. :)
Leider bring ich das ganze trotzdem nicht zum Laufen. Ich hab das also runter geladen, linke die sfgui.lib, geb die sfgui.dll in meinen Ordner, wo auch die .exe hin kommt, es scheint aber trotzdem so, als würd irgendwas fehlen. Weil wenn ich das Programm starte (ein ganz einfaches Fenster mit SFML und lediglich eine Instanz der Klasse sfg::SFGUI erzeugt), sich nur die Konsole kurz öffnet und sich das ganze dann sofort wieder schließt.

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#include <SFGUI/SFGUI.hpp>
#include <SFML/Graphics.hpp>

int main ()
{
    sfg::SFGUI m_sfgui;

    sf::RenderWindow render_window (sf::VideoMode (800, 600), "Testdings");

    while (render_window.isOpen ())
    {
        sf::Event Event;
        while (render_window.pollEvent (Event))
        {
            if (Event.type == sf::Event::Closed)
            {
                render_window.close ();
            }
        }

        render_window.clear ();
        render_window.display ();
    }
 
    return 0;
}

eXpl0it3r

Treue Seele

Beiträge: 386

Wohnort: Schweiz

Beruf: Professional Software Engineer

  • Private Nachricht senden

4

24.12.2012, 01:05

Der gepostete Code funktioniert bei mir ohne Problem...

Hast du beide Libraries selbst gebaut? Und mit welchem Compiler?
Blog: https://dev.my-gate.net/
—————————————————————————
SFML: https://www.sfml-dev.org/
Thor: http://www.bromeon.ch/libraries/thor/
SFGUI: https://github.com/TankOs/SFGUI/

Käsekönig

1x Contest-Sieger

  • »Käsekönig« ist der Autor dieses Themas
  • Private Nachricht senden

5

24.12.2012, 23:04

Kompilieren kann ich ihn eh, aber wenn ich das eben starte, dann gibts kein Fenster, nur ein kurzes Aufblitzen der Konsole. :(
SFML (2.0) hab ich mir selbst kompiliert mit Visual Studio 2010 Express, SFGUI hab ich fertig kompiliert von der Seite runter geladen (ich glaub, da stand was davon, dass man sich eine aktuelle Version selbst zusammen basteln müsste). Find das etwas seltsam, dass das mit der Version, die ich habe, nicht funktioniert. Das Kompilieren davon hab ich irgendwie nicht geschafft (hab mir CMake runtergeladen, aber der meckert, dass mein Prdukt - Visual Studio - nicht lizenziert wäre, eventuell liegts ja an der Express-Version), deswegen hab ich eben eine nicht 100%-ig atkuelle Version runter geladen.

Thoran

Alter Hase

Beiträge: 520

Wohnort: Stuttgart

Beruf: Senior Software Engineer

  • Private Nachricht senden

6

26.12.2012, 11:41

Ohne SFML genauer zu kennen, ist es bei MyGUI möglich dir einen Renderer als Erweiterung zu MyGUI zuschreiben, der Render-Funktionen deines speziellen Umfeldes, also bei dir SFML, verwendet. Allerdings ist das mit Aufwand verbunden. Beispielsweise hat myGUI momentan Renderer für Ogre3D, OpenGL und DirectX (wenn ich mich recht erinnere).
Mein Entwicklertagebuch
Aktuelles Projekt: Universum Espionage
Eingestellt:Spieleengine SilverCore
Organisator "Spieleentwickler Stammtisch Stuttgart"

Käsekönig

1x Contest-Sieger

  • »Käsekönig« ist der Autor dieses Themas
  • Private Nachricht senden

7

27.12.2012, 00:40

Das Nichtfunktionieren bezog sich ja jetzt auf SFGUI, und das ist ja schon für die Verwendung mit SFML geschrieben. Einen eigenen Renderer zu schreiben für z.B. MyGUI ist für meinen Wissensstand glaub ich nicht so easy möglich. :S
Es wäre schön, wenn mir jemand eine aktuelle Version von SFGUI zur Verfügung stellen könnte, um auszuprobieren, ob es damit geht.

eXpl0it3r

Treue Seele

Beiträge: 386

Wohnort: Schweiz

Beruf: Professional Software Engineer

  • Private Nachricht senden

8

27.12.2012, 12:47

Dynamisch kompiliert für Visual Studio 2010 32bit Compiler: SFGUI
Um sicher zu stellen, dass die SFML Versionen die gleichen sind, solltest du evtl. mein Nightly Build verwenden: SFML 2.0-03b8a1c3a7
Blog: https://dev.my-gate.net/
—————————————————————————
SFML: https://www.sfml-dev.org/
Thor: http://www.bromeon.ch/libraries/thor/
SFGUI: https://github.com/TankOs/SFGUI/

Käsekönig

1x Contest-Sieger

  • »Käsekönig« ist der Autor dieses Themas
  • Private Nachricht senden

9

27.12.2012, 16:31

Super, ich danke dir dafür. :) Jetzt geht das Beispielprogramm endlich und ich kann mich etwas damit herum spielen und ausprobieren. :)
Danke nochmal für die Bemühungen.

Werbeanzeige