Hallo,
ich habe vor ein kleines 2D Billard-Spiel zu programmieren. Noch habe ich damit keine Erfahrung und wollte gerne von euch wissen, was ich dazu am besten lesen/lernen sollte. Bisher habe ich Grundwissen in C/C++.
Sollte man für solche kleinen 2D Sachen DirectX verwenden oder die Objekte in einem normalen Windows Fenster zeichnen?
Kennt jemand ein gutes Source-Beispiel oder ein Tutorial? Gerade die Umsetzung der Physik (die ja bei diesem Spiel schon ziemlich wichtig ist) interessiert mich.
ph4nt0m
Borg Gates: Tech support is irrelevant. Upgrading is futile. Your hard disk will be assimilated.
Also WinForms und GDI solten ausreichen.
aber was genau meinst du mit Grundwissen in C C++?
Was hast du den schon mit C# gemacht?
kleiner tipp von mir übernimm dich nicht gleich zu anfang
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
Hi,also ich rate dir entweder mit DX oder OpenGl zu machen,meiner Meinung nach ist
GDI+ da relative unbrauchbar (da es viel zu langsamm ist und es dauernt flackert).Wenn du nur die Physik testen willst oder nur erstmal ausprobieren
und dich die Grafik weniger intressiert dann kannst auch GDI+ nehmen,ist halt die frage was du machen willst und wie lang du dich damit beschäftigen willst.
Hmm, ihr sagt ja jetzt beide so ziemlich genau das Gegenteil
@DerHulk: Danke für die Links, ich werde mir die mal anschauen.
@S.H.-Teichhof: Ich hab mit C# bisher gar nichts gemacht (kann es auch eigentlich nicht, aber es ist C++ ja sehr ähnlich), wie gesagt nur kleine Sachen mit C/C++. Aber keine Spiele, sondern nur kleine GUI Anwendungen mit nativer Win32-API, z.B. aktuell einen kleinen Binärrechner, siehe.
Übernehmen will ich mich wirklich nicht, aber ich denke doch, dass ein kleines Billardspiel in 2D noch halbwegs machbar sein wird X(
ph4nt0m
Borg Gates: Tech support is irrelevant. Upgrading is futile. Your hard disk will be assimilated.
Wenn du vorher noch garnichts mit C# am hut hattest wird das Billiardspiel schon hart an die Grenze gehen auch wenn du es "nur" mit GDI machst
ps wen du schon mit C++ gearbeitet hast hilft dir vieleicht auch http://www.cppfrance.com/codes/SIMULATION-BILLARD_33545.aspx
Wir Arbeiten eigendlich nicht wir nehmen nur das geld
Danke für den Link, die Physik in dem Beispiel ist echt genial. Der Code aber entsprechend lang und ohne englische oder deutsch Kommentare für mich leider kaum verständlich X(
Zitat
Wenn du vorher noch garnichts mit C# am hut hattest wird das Billiardspiel schon hart an die Grenze gehen auch wenn du es "nur" mit GDI machst
Ich habe deswegen ja gefragt, was ich dafür lernen sollte. Dass ich das jetzt noch nicht kann ist ja mehr oder weniger klar, sonst müsste ich hier ja nicht fragen wies geht
Im Grunde geht es mir erstmal darum, ob GDI oder DX (oder sonst was). Die nächste frage wäre dann, ob es hilfreich wäre, für diese Libs erst noch C# zu lernen (was mit einem Buch wohl nicht besonders schwer wäre und lange dauern würde, da ich C++ schon "kann").
ph4nt0m
Borg Gates: Tech support is irrelevant. Upgrading is futile. Your hard disk will be assimilated.
Zuerst muss ich zugeben, dass ich mich oben geirrt habe. Das XNA GSE lässt sich wirklich nur auf einer Express Version installieren.
Allerdings:
Ich habe den Installationsversuch mit einem Registry-Monitor überwacht und die Schlüssel identifiziert, an denen die Installation das Vorhandensein eines VS Express erkennt.
Durch Erzeugen einiger Schlüssel war es mir schon einmal möglich, die Installation durchzuführen (ich habe VS Professional). Leider gibt es beim Fertigstellen der Installation einen weiteren Fehler, der zu einen Rollback führt.
Ich habe heute Abend aber weder Zeit noch Muße, mich mit diesem Fehler auseinander zu setzen.
Ich werde mich die nächsten Tage weiter damit beschäftigen.
Das bisherige Ergebnis lässt mich allerdings an die Möglichkeit einer Lösung glauben.
Sobald sich etwas neues auf dieser Front ergibt, werde ich im Forum einen Thread erstellen.
also XNA ist müll. zwar gut gemeint aber eigentlich momentan eher als technologiestudie zu sehen und für produktiveinsatz kaum zu gebrauchen... (es fehlen wesentliche teile im 3d bereich) -nix für ungut.
2d grafik mit MDX Direct Draw ist ok, schau mal beim thread vorbei.
Ich möchte anmerken, dass ich hier gänzlich anderer Meinung bin. Der Eintrag ist ja auch schon ein Jahr alt. XNA simplifiziert vieles und ist absolut ausreichend für die Tasks, für die ich es bisher gebraucht habe. Gerade im 2D Bereich lässt XNA kaum Wünsche offen. SDL und Konsorten sind hier wesentlich komplizierter und die C#-Bindings afaik kaum ausgereift, bzw. schlecht.
Shift to the left, shift to the right!
Pop up, push down, byte, byte, byte!
ich würde eher auf MDX setzen. ein paar sprites rendern ist absolut kein problem.
meine meinung beruht aber darauf, dass ich xna noch nie gesehen habe. ich weiß aber, dass sprites rendern sehr simpel ist. und mehr braucht man auch nicht.
heute code ich, morgen debug ich und übermorgen cast ich die königin auf int
so, ich kenne nun beides und ich muss sagen, das xna deutlich simpler ist als mdx. als ich noch mit mdx was gemacht habe, war es schon einfach und ich habe gestaunt aber als ich letzte woche xna ausprobiert habe, hat es mich fast umgehauen... einfacher kann ich es mir nicht vorstellen.
anfangs ist es etwas ungewohnt vom handling her aber wenn man einmal dahintergekommen ist, dann geht es sehr sehr leicht von der hand.