![]() |
Wie ist ein 2D Spiel aufgebaut?
Tag,
villeicht passt der Titel nicht ganz, aber mir is nichts Besseres eingefallen :D Also ich will unbedingt mal ein 2D Jump&Run programmieren. Da ich OpenGL bzw DirectX nicht durchschaue möchte ich das Spiel gerne mit Herkömmlichen Mitteln gestalten. (Sprich GDI...). Hier gleich mal die Erste Frage: Worin liegt der unterschied zwischen GDI und Canvas? Ist Canvas nicht genau das selbe nur n bissl komfortabler? Gut hier gleich die Zweite Frage, da ich mir auch noch garnicht so sicher bin ob GDI/Canvas schlau ist. Ich hab schon mal nen kleinen Vertikalshooter programmiert, der bestand aber nur aus nem Haufen TImage`s und Timern die die bewegen. :mrgreen: Is das dumm so? Weil wenn man alles mit Canvas macht braucht man ja auch irgentwas in das man zeichnet (zB PaintBox), aber soll man da auch mehrere Nehmen (Käme ja aufs selbe raus wie mit den Images) oder alles in eine PaintBox zeichnen? Wenn ja, wie soll man die Objekte dann bewegen? :gruebel: Ahja und noch was: In Jump&Runs bzw in 2D anwendungen werden ja oft Layer eingesetzt, also dass man mit manchen objekten kollidieren kann und manche nur im hinter- oder vordergrund rumstehn. Das OpenGL und DirectX sowas unterstüzt ist mir zu ohren gekommen, wie aber macht man so eine Pseudo Z auf die normale Tour? Geht das überhaupt? Ich hab halt überhaupt keinen Plan, und bevor ich mich in die arbeit stürze sollte ich wohl wissen was ich tue :lol: Gruß, Red six :wiejetzt: |
Re: Wie ist ein 2D Spiel aufgebaut?
Zitat:
Zitat:
![]() ![]() ![]() ![]() Ob das ganze allerdings leichter als mit OpenGL/DirectX ist, kann ich dir nicht sagen. Zitat:
|
Re: Wie ist ein 2D Spiel aufgebaut?
Super danke!
Ich muss zwar erst noch rausfinden wie man diese Bilder da rumkopiert, aber so kann man das Layer system ja relativ einfach nachbaun, jenachdem wie tief das objekt liegt wird halt zuerst das darüberliegende gezeichnet... :spin: |
Re: Wie ist ein 2D Spiel aufgebaut?
Ich glaube das größte Problem ist die Grafik, hast du überhaut welche ? Sonst solltest du dich erst darum kümmern.
|
Re: Wie ist ein 2D Spiel aufgebaut?
Hallo,
Canvas / GDI hat den Nachteil, dass diese nicht direkt auf die Hardware zugreifen. Für schnellere Spiele empfehle ich DelphiX. Das ist eigentlich nicht schwer zu verstehen. Florian |
Re: Wie ist ein 2D Spiel aufgebaut?
Ich habe mal mit den GR32-Komponenten ein 2D Jump'n'run programmiert. 150 FPS und sah ziemlich gut aus. Z.b. hat sich der Hintergrund langsamer bewegt als der Vordergrund usw.
Leider kann ich euch das Programm nicht zum Download anbieten, weil ich Grafiken von Nintendo (Super Mario) benutzt habe. |
Re: Wie ist ein 2D Spiel aufgebaut?
Hört sich gut an, ich werd mich da mal umschaun!
:coder: |
Re: Wie ist ein 2D Spiel aufgebaut?
Die DX-Komponente DirectDraw enthält auch einen Canvas:
DirectDraw1.surface.canvas. Der muss dann nur mit der Methode DirectDraw1.Flip in den Vordergrund geholt werden. Ein weiterer Vorteil von DX ist dass das DirectDraw auch im Fullscreen-Modus bei z.B. 640 x 480 Pixeln bei 8 Bit laufen kann, jenachdem wie du es einstellst. Und es ist schneller. Bei mir geht das alles aber irgendwie auch nicht... (zumindest das Anzeigen der Grafik) :cry: |
Re: Wie ist ein 2D Spiel aufgebaut?
Damit wir die Palette voll haben: Ich empfehle Dir wie im vorherigen Thread SDL ;) Der Canvas sollte allerdings für deine Zwecke ausreichen. DelphiX würde ich definitiv nicht weiterempfehlen, auch wenn es keine Lüge ist, dass man sehr schnell zu einem Ergebnis kommen kann. Zusatzlibs sind häufig eine gute Lösung, allerdings warum nicht die Schnittstelle direkt?
Zu deinem Spiel: Wie Du bereits angemerkt hast, ist es eigentlich gar nicht so komplex. Ein wenig strukturierte Planung und das 2D-Projekt ist leicht in Angriff genommen und kann nur noch an Dingen scheitern, die man als Anfänger gar nicht "bedacht" hat. Helfen tut oft auch das "Beobachten". Schaue Dir bestehende Spiele an und versuche nachzuvollziehen, wie diese es gemacht haben. Sofern Du das Spiel nicht kommerziell vermarkten möchtest (bzw. non-GPL) würde ich Dir einmal folgende Seite ans Herz legen: ![]() SDL, Lauffähig (Beobachten), Grafiken zum Testen (GPL) und OpenSource um einmal zu schauen, wie die Entwickler es auch wirklich realisiert haben. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:09 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz