Registriert: So Mai 11, 2003 10:36 Beiträge: 285 Wohnort: Oldenburg
Programmiersprache: Object Pascal
Hallo,
ich habe im letzten Jahr ein sehr einfache 2D Engine für Lazarus geschrieben.
Die Verwendung ist sehr einfach. Ich baue die Engine immer noch weiter aus.
Ich habe die 2D Engine im Anhang gepackt und möchte gerne wissen wo das Beispiel Programm starten oder nicht.
Ich weiß schon das es unter Windows seltsame Fehler gibt. Dort wird irgendeine Datei nichte gefunden.
Ich verwende die Lazarus Version 0.9.24.
Ich hoffe im Archiv sind alle Dateien erhalten.
Auf dieser Engine baut meine GUI auf und ein neues Vorhaben.
Und zwar möchte ich noch einfacher Raum Basierte Spiele erstellen,
Ich bin auch am überlegen wie ich ein allgemeines Speicher Format für die Engine schreiben könnte.
Das Grund Prinzip der Engine ist: Nur das zeichnen was sich auch verändert hat.
Die Engine baut auf Sprite auf die einem Sprite Manger gehören müssen, Der Sprite Manger gehört einer
2D Engine an.
Im Sprite Manger selbst gibt es einige Kollisions Funktionen die auch auf Pixel Kollisionen prüfen auf Wunsch.
Alle Sprite werden Automatisch in einer Liste zu einem Sprite Manger hinzugefügt.
Damit entfallen aufwendige Array oder der gleichen. Ein Spriger Manger nutzt intern eine Object Liste.
Das ist wichtig, weil der Sprite löst ein Event aus beim zeichnen, was veranlasst alle Sprite neuzuzeichnen die sich in den geänderten Bereich befinden. Das beugt Grafik Fehler vor.
Ein Bekanntes Problem ist zur Zeit das sich das Sprite nicht löschen also zerstören kann. Dort kommt es zu einer AV.
Evtl könnte sich ja jemand den Code mal ansehen Destroy im Sprite.
Das Problem wird wohl die Verbindung zur Object Liste sein.
PS:
Ich weiß das es hier eigentlich um OpenGL und SDL geht, aber ich dachte mir da es hier im allgemeinen auch um Spiele geht und sowas, das es nicht weiter aus macht diese 2D Engine hier zu veröffentlichen.
Ich würde mich über eure Tests mit der 2D Engien freuen
Bei Gelengheit werde ich hier noch mal mein Pacman Clone Vorstellen was das erste Projekt war mit der 2D Engine.
Bisher ist die 2D Engine mein besten Projekt überhaupt. Ich Programmiere jetzt seit ca 10 Jahren in Object Pascal.
Ich glaube ich hab das gefunden wonach ich gesucht habe. Ein Projekt was ich ständig weiter Entwicklen kann.
Leider ist das Arichv ca 200 KB zu Groß. Mal sehen ob ich es noch kleiner machen kann.
Edit: Ich habe aus dem PNG eine Jpeg Datei. Jetzt geht es.
(Die PNG Datei über 200 KB die jpeg unter 10 KB *G*)
Ihr müsst euch noch OpBitMap besorgen. Weil drauf baut eine Funktion auf.
OpBitmap könnt ihr euch hier runter laden:
http://www.lazarusforum.de/viewtopic.php?t=434&start=0 braucht nicht installiert zu sein. Ich müsst nur den Pfad in den Projekt Einstellungen ändern.
Bei mir ist es:
/media/hda7/Daten/lazarus/opbitmap1_5.zip_FILES/imglibs
Registriert: So Mai 11, 2003 10:36 Beiträge: 285 Wohnort: Oldenburg
Programmiersprache: Object Pascal
Das Projekt ist nicht Eingeschlafen. Erst vor wenigen tagen habe ich eine allgemeine Scroll Funktion für meine Sprites eingebaut. Die sogar recht gut Funktioniert.
Ich bin inzwischen am überlegen ob ich nicht versuchen sollte ein Prototyp von der 2D Engine unter OpenGL zum laufen zu bringen bzw. ein neuen zu erstellen der dann unter OpenGL laufen kann. OpenGL soll man auch im 2D Modus betreiben können. Dann könnte ich evlt. noch etwas mehr rauß hohlen von der "2D Engine". Aber da bin ich mir noch nicht so sicher ob ich das machen soll.
_________________ MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus
Registriert: So Mai 11, 2003 10:36 Beiträge: 285 Wohnort: Oldenburg
Programmiersprache: Object Pascal
Auch wenn es wenig vom Projekt zu hören gibt einige Kleinigkeiten habe denn noch hinzugefügt:
Es gibt jetzt eine allgemeine Speicher Funktion für die Sprites. Alle Sprite haben die Methode: Save. Im Moment gibt es nur ein Format.
Weitere Änderungen sind in Planung. Z.B. die Möglichkeit Sprites ganz einfach zu Animieren. Oder Sprites Rotieren zu lassen. Sowas halt.
Natürlich sollten diese Möglichkeiten nur begrenzt eingesetzt werden. Aber ich denke damit könnte man die Spiele etwas "aufmotzen".
_________________ MFG<br> Michael Springwald, <br>
Bitte nur Links in Deutsch, nutze überwiegend Lazarus
Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.