Seite 1 von 1

DirectX Steuerelement

Verfasst: 07.03.2011, 23:31
von Raven280438
Hi,

ich möchte einen 2D Mapeditor mit DirectX und C++ programmieren.

Grundlagenkenntnisse hab ich in C++ Konsolenanwendungen und .NET.

Ist es möglich, in .NET ein Steuerelement mit DirectX zu rendern? Oder würdet ihr komplett anders an die Aufgabe rangehen? Der Vorteil von .NET wäre ja, dass ich alle Steuerelemente nutzen kann.
Ist das überhaupt möglich und Sinnvoll, oder gibt es da Probleme.

In allen Beispielen die ich bisher gefunden habe wird mit der WinAPI ein Fenster erzeugt, ich benötigt aber Steuerelemente, z.B. zum Auswahl der Texturen. Ist sowas mit der WinAPI möglich oder muss ich da selber Steuerelemente programmieren?

Im Moment hab ich noch nichts programmiert, ich such erstmal nach Ideen wie ich am besten rangehe. Könnt ihr mir da weiterhelfen? Auf welche Punkte soll ich mir beim Lernen konzentieren?


Gruß

Re: DirectX Steuerelement

Verfasst: 08.03.2011, 08:36
von Schrompf
Ich würde den Leveleditor komplett sein lassen und mir stattdessen mapeditor.org greifen. Von denen gibt es nämlich eigentlich schon genug :-)

Wenn Du das aber des Lerneffekts wegen machen willst, musst Du Dich erstmal grundlegend entscheiden. Entweder .NET oder C++. Man kann das zwar auch mischen, aber diese Art von Frankensteinmonster will eigentlich niemand benutzen. Wenn Du C++ nimmst, rate ich zu QT - das ist eine umfangreiche Bibliothek für Benutzeroberflächen, mit der so ein MapEditor eine schnellgemachte Sache ist. Wenn Du .NET nimmst, nutze deren GUI-Bibliothek.

Mit DirectX kannst Du natürlich in beiden Fällen arbeiten. Das Einzige, was eigentlich anders als bei einer Vollbild-Direct3D-Anwendung ist, ist die Initialisierung des Devices. Bei Qt und C++ nimmst Du das gewohnte Direct3D. Bei C# und .NET nimmst Du einen D3D-Wrapper wie SlimDX oder XNA.

Re: DirectX Steuerelement

Verfasst: 08.03.2011, 10:44
von Top-OR
Yo, so sehe ich das auch. Bei nem Map-Editor würd ich auch keine Handstände machen, wenns da schon was Fertiges gibt.

Die einzigen Ausnahmen, die ich mir da jetzt vorstellen kann sind die:

1) Du hast TOTAL Bock, das selbst zu machen.
2 )Du hast so abgefahrene Features in deinem Dateiformat, dass es kein anderer Editor sinvoll editieren kann. Das ist aber relativ unwahrscheinlich.

Was pure WinAPI angeht, vielleicht noch komplett dynamisch, so kann ich aus eigener Erfahrung davon abraten. Wenn du nicht zu viel Zeit hast und wirklich schnell ein Ergebnis haben willst, nimm .NET oder QT.

Alles Andere würde ich eher machen, wenn man Spass an der Freude haben will oder es eben „wissen“ will. Du wirst dann aber sehr sehr langsam vorankommen. Will man den Bau eines Map-Editors "wirklich wissen"?

@Schrompf: http://www.mapeditor.org ... aha aha aha

Re: DirectX Steuerelement

Verfasst: 08.03.2011, 10:54
von Schrompf
Der MapEditor auf mapeditor.org heißt offiziell Tiled. Wir haben den damals für Splatter verwendet. Der Loader für ein Level ist schnell geschrieben, besonders wenn man anstatt der komprimierten Mapdaten zum Beispiel CSVs als Ausgabeformat wählt.

Re: DirectX Steuerelement

Verfasst: 08.03.2011, 19:10
von The_Real_Black
Top-OR hat geschrieben: 2 )Du hast so abgefahrene Features in deinem Dateiformat, dass es kein anderer Editor sinvoll editieren kann. Das ist aber relativ unwahrscheinlich.
Naja... so unwahrscheinlich ist es nicht. Selbstgemacht ist oft besser auf das zugeschnitten was man gerade bastelt.