Welche GUI?
-
KK danke für die Info
Sollte ich noch fragen haben schreib ich 
so far,
Finn
-
ach blödsinn. WinAPI ist C, du brauchst also keine klassen, templates oder anderen C++ kram und STL brauchst du schonma garnich.
-
trotzdem sollte man die grundlagen können auch c++
-
Naja ich schaus mir heute mal an und guck, ob ich schon durchblick

Wenn nicht,dann mach ich lieber noch bissle C++ Grundlagen weiter bis ich mit WinApi anfange!
Noch was:
Kann man mit der WinApi auch kleine Spiele erstellen? Oder sogar 3d Spiele? Oda muss man dann wirklich auf OpenGL/DirectX umsteigen um sowas zu machen?(Ja ich weiß alleine is das fast nicht machbar
)
-
Bevor du auch nur ANSATZWEISE an sowas wie Spiele pr0gg0rn denkst, solltest du sicher C++ beherrschen.

-
Finn schrieb:
Kann man mit der WinApi auch kleine Spiele erstellen? Oder sogar 3d Spiele? Oda muss man dann wirklich auf OpenGL/DirectX umsteigen um sowas zu machen?(Ja ich weiß alleine is das fast nicht machbar
)Mit QT usw. kann man das auch und man kombiniert diese dann mit OpenGL/DirectX.
PS: Wer ist Oda?
-
Wenn du Spiele bauen willst, solltest du dich mit DirectX beschäftigen. Dennoch kann dabei ein Wissen über die Windows-API nicht schaden.

-
Ad aCTa schrieb:
Wenn du Spiele bauen willst, solltest du dich mit DirectX beschäftigen. Dennoch kann dabei ein Wissen über die Windows-API nicht schaden.

Wieviele Spiele hast du schon programmiert?
-
Ab wann nennst du etwas "Spiel"? So ca. 6 kleine 3D Spiele.
-
Ad aCTa schrieb:
So ca. 6 kleine 3D Spiele.
welche?
-
Alsob du meine Spiele kennen würderst
Ich habe die nie publiziert. Aber jetzt ist Schluss mit Rumtrollen, ja?
-
SchönsterCoder schrieb:
PS: Wer ist Oda?
oda = oder :p
Ich schau mir WinApi heut mal an und schau ob ichs check
-
Ad aCTa schrieb:
Wenn du Spiele bauen willst, solltest du dich mit DirectX beschäftigen. Dennoch kann dabei ein Wissen über die Windows-API nicht schaden.

Wieso sollte man DirectX verwenden? Und weshalb WinAPI?
Vielleicht möchte man sich ja auch auf höherem Abstraktionslevel bewegen und nicht an Windows binden.
Als allererstes sollte man aber wirklich schauen, dass man Standard-C++ relativ gut kann. Anschliessend kann man sich zum Beispiel mit SMFL in die Spieleprogrammierung vorwagen. Dabei bleibt man auch schön plattformunabhängig und muss weniger mit C-Konstrukten rumfrickeln. Aber das ist natürlich jedem selbst überlassen und hängt auch von den genauen Ansprüchen ab.
Ich finde es nur etwas gefährlich, wenn man selbst noch kein sauberes C++ beherrscht, und sich dann durch WinAPI oder DirectX einen "speziellen" Codestil angewöhnt.
-
Nexus schrieb:
Wieso sollte man DirectX verwenden? Und weshalb WinAPI?
WinApi ist gut, wenn man seine kleinen Programme schreibt, also nicht Spiele oder sowas, sondern wirklich programme, ich sag mal, die was bringen! :)(Dass es halt schöner aussieht)
Und DirectX für Spiele(alternativ: OpenGL)...
zumindest glaub ich das :p Irgendwie käm ich mir komisch vor, mit DirectX ein Fenster mit 2 Knöpfen zu programmieren^^
-
Dass man WinAPI für Windows-Programmierung einsetzen kann, glaube ich gern. Aber nur für GUI gibt es genügend Alternativen, dieser Thread handelt ja unter anderem von diesen. Im GUI-Unterforum sind auch noch einige zu sehen. Wie gesagt, es gibt auch Programme, die nicht nur unter Windows laufen sollen.
Aber auch für Spiele gibt es nicht nur DirectX und OpenGL. Die beiden Frameworks sind relativ Low-Level (OpenGL noch viel mehr als DirectX) und können entsprechend abstrahiert werden. Eben zum Beispiel durch SFML.
-
> Wieso sollte man DirectX verwenden? Und weshalb WinAPI?
Weil Windows nun mal das OS der Spiele ist. DirectX wird meistens zum Spiele bauen benutzt, OpenGL eher selten. Nichts gegen SFML, aber warum nicht gleich DirectX? Das speziellere kann er sich ja aneigenen, wenn er erst mal einen Fuß in der Tür hat.
Und warum man WinAPI lernen soll? Na damit man mit dem Betriebssystem kommunizieren und programmieren kann. Ist nicht meine Schuld, dass die meistens in C geschrieben sind, unter Linux/Unix ist das nicht viel anders.
Außerdem kann jeder "echte" C++-Programmierer auch C und weiß, wann man welche Semantik und Sprachtechnik benutzt.Das man externe Libs erst benutzt, wenn man C++ kann, ist ja wohl klar, oder? (Wer kann schon das ganze C++ perfekt?
) Und wenn schon, mal über den Tellerrand schauen hat noch nie geschadet, man merkt als Anfänger ja selber, dass es hackt, und kehrt freiwillig zum guten, alten ANSI-C++ zurück. 
Zum Abschluss: Ein Flamewar über das "beste" bringt's doch sowieso nicht. Aber da er ja eh ein Anfänger ist, ist plattformunabhängikeit oder modularität erst mal vollkommen irrelevant, hauptsache, er bekommt was vernüftiges zu stande. :p
Wenn er merkt, dass es Mist ist, wird er es nächstes mal besser machen.
-
Ich würde sagen, wer interessiert an den Techniken und Low Level ist, der robbt so, oder so durch DirectX/OpenGL/WinAPI durch, weil es ihm Spass macht alles auf einer möglichst tiefen Ebene kennen zu lernen. Wer allerdings einfach produktiv etwas bauen will, der nimmt halt Abstraktionen.
-
Ad aCTa schrieb:
Weil Windows nun mal das OS der Spiele ist. DirectX wird meistens zum Spiele bauen benutzt, OpenGL eher selten. (Hab mal gehört, CounterStrike benutzt OpenGL)
Das ist ja kein Grund. Man muss deshalb nicht mit dem Strom schwimmen. Wenn man mit Spieleprogrammierung beginnt, kommt es auch nicht auf darauf an, wie verbreitet ein Framework ist oder wieviele Spiele damit geschrieben wurden. Gerade für 2D-Programmierung ist SFML eine wirklich sehr schöne Bibliothek, mit der man auf hohem Abstraktionslevel programmieren kann. Ich würde auch mal behaupten, einige Dinge sind da schöner umgesetzt als in DirectX (vielleicht auch, weil es direkt in C++ programmiert ist). Dafür hat man weniger Möglichkeiten, zum Beispiel, wenn es in den 3D-Bereich geht. Aber was sich nun in einem spezifischen Fall besser eignet, hängt ohnehin von den Anforderungen des Programmierers ab.
Ad aCTa schrieb:
man merkt als Anfänger ja selber, dass es hackt, und kehrt freiwillig zum guten, alten ANSI-C++ zurück.

Nein, eben nicht. Man denkt als Anfänger, "das ist halt eben so", das "gute, alte ANSI-C++" ist einem nahezu unbekannt.
Ad aCTa schrieb:
Zum Abschluss: Ein Flamewar über das "beste" bringt's doch sowieso nicht.
Ja, Flamewar bringt es wirklich nicht. Ich behaupte ja nicht, es gäbe das Einzig Wahre Framework
oder sowas in die Richtung. Ich wollte nur zeigen, dass DirectX nicht die einzige Möglichkeit ist.Ad aCTa schrieb:
Aber da er ja eh ein Anfänger ist, ist plattformunabhängikeit oder modularität erst mal vollkommen irrelevant, hauptsache, er bekommt was vernüftiges zu stande. :p
Wenn er merkt, dass es Mist ist, wird er es nächstes mal besser machen.
Eben. Und dieses vernünftige Zu-Stande-Bringen ist wohl einfacher, wenn man ein fertiges Framework verwendet, als direkt mit WinAPI herumzufrickeln. Zumal man da viel schneller Erfolgserlebnisse hat und entsprechend motivierter ist, weiter zu programmieren.
Schau doch mal, wie viele Anfänger alleine an den Zeigern und manueller Speicherverwaltung verzweifeln. Da finde ich es wirklich keine gute Idee, gleich WinAPI zu empfehlen. Ausser für Leute, die an Low-Level-Dingen wirklich von Anfang an interessiert sind und auch die Bereitschaft mit sich bringen, entsprechend viel Zeit zu investieren. Dieser Teil der Leute entspricht meiner Meinung nach aber eher der Minderheit.
-
Wenn du spiele und nicht engines programmieren willst, dann nimm ne fertige engine
-
So also ich habs mir mal angeguckt!
Einfach nur ein Windowsfenster erstellen hab ich einigermaßen gerafft
Jetzt hab ich aber noch einige Fragen:1. In dem Tut steht, dass man den Code fürs Windowsfenster nicht auswendig können muss, stimmt das oder sollte ich mir den trotzdem versucehn einzuprägen?
2.Wie schreib ich einfach ins Fenster rein? Z.b. einfach in schwarzer Schrift "Hallo" schreiben.
3.Wie erstelle ich Buttons? Also z.B. einen OK Button? Im tutorial hab ich auch gelernt, wie mans macht, dass wenn man ins Fenster klickt irgendetwas passiert...muss ich dann wenn ich den Button drücken will, ein Ereignis WM_LBUTTONDOWN machen und das mit den Koordinaten vom Button füttern? Oder geht das einfach über den Button?
4.Wie mach ich als Hintergrund ein Bild?
Danke schon mal für die Antworten
