Delphi-PRAXiS
Seite 2 von 26     12 3412     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Andorra 2D [Ver. 0.4.5.1, 31.12.08] (https://www.delphipraxis.net/81314-andorra-2d-%5Bver-0-4-5-1-31-12-08%5D.html)

Mavarik 8. Dez 2006 07:22

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

---------------------------
Andorra 2D Bounce Demo
---------------------------
Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000.
---------------------------
OK
---------------------------
Hi!

Ich würde sagen, das liegt an den clootie headern...

Demo's die mit clootie erzeugt wurden, laufen bei mir auch nicht.
Die Header von DelphiDev laufen problemlos.

Siehe mein Snakeland 3D

Grüsse Frank :coder:

igel457 8. Dez 2006 21:52

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

Zitat von Mavarik
Demo's die mit clootie erzeugt wurden, laufen bei mir auch nicht.
Die Header von DelphiDev laufen problemlos.
Siehe mein Snakeland 3D
Grüsse Frank :coder:

Komisch...
Bei den meisten wer es jetzt gerade anders herum... Im Notfall mach ich am Ende zwei Versionen meiner DLL. Mal sehen.



Zitat:

Zitat von NamenLozer
Wow, die Screenshots sehn ja ECHT GEIL aus!!!

ich bin echt mal gespannt!

Danke für die Motivation!

Zitat:

Zitat von inherited
Hey, genau das hat mir bisher gefehlt, weiter so :thumb:
Und eine OpenGL-Implementierung erwarte ich sehnsüchtig^^

nivosta hat sich hier für das OpenGL Plugin gemeldet. Vieleicht dauert es ja nicht mehr lange.

Danke für die Rückmeldung,
Igel457

igel457 12. Dez 2006 16:05

Re: Andorra 2D - The Next Generation 2D Engine
 
So,

ich habe mal eine neue Version hochgeladen. Die größte Neuerung ist das neue Partikelsystem. Als Demo liegt ein "Partikeleditor" bei.

Wäre schön, wenn ihr den mal ausprobiert und mir weitere Wünsche und/oder Fehler nennt.

Weiteres könnt ihr aus dem ersten Beitrag entnehmen.

Viel Spaß,
Igel457

inherited 12. Dez 2006 18:53

Re: Andorra 2D - The Next Generation 2D Engine
 
Hoffe doch sie ist 100% vorgängerkompatibel?^^

igel457 12. Dez 2006 19:30

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

Zitat von inherited
Hoffe doch sie ist 100% vorgängerkompatibel?^^

Theorethisch schon.

inherited 12. Dez 2006 19:56

Re: Andorra 2D - The Next Generation 2D Engine
 
Ist es, und gleich werd ich es einbauen.
€dit: Und wenn du dann noch mit einer Dokumentation hinterher kommen würdest, wäre das richtig gut :mrgreen:
btw: "[Pascal Hint] AdDraws.pas(478): H2164 Variable 'ARect' is declared but never used in 'TAdDraw.Initialize'"
Für die nächste version dann :P
€dit2: Nein, es nicht abwärtskompatibel:
Code:
---------------------------
Debugger Fault Notification
---------------------------
Project C:\*tutnichtszursache*\andorratest.exe faulted with message: 'Zugriffsverletzung bei 0x0033006c: Schreiben von Adresse 0x00000000'. Process Stopped. Use Step or Run to continue.
---------------------------
OK  
---------------------------
Noch €dit: und zwar beim Setzen der Umgebungshelligkeit
wir nähern uns langsam dem €dit-rekord: Doch, es ist kompatibel, ich hatte beim Kopieren der neuen dateien wohl irgendwie einen ganzen Ordner überkopiert. So geht es.

inherited 13. Dez 2006 20:47

Re: Andorra 2D - The Next Generation 2D Engine
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es geht. Allerdings hab ich noch eine Frage. Ich füge mit
Delphi-Quellcode:
  with Form11.AdPictureCollection.Add('playership') do
  begin
    Texture.LoadFromFile('test.bmp', false, clWhite);
    Detail := 16;
  end;
  Image:=Form11.AdPictureCollection.Find('playership');
Ein Bild. Das funktioniert auch wunderbar, es wird offenbar geladen.Allerdings bekomme ich nach dem zuweisen in der Draw-Funktion, wenn das Sprite also angezeigt werden soll, den Fehler "Listindex out of Bounds(-1)". Das ist bisher nur bei diesem (siehe Anhang) Bild geschehen, bei anderen geht es. Woran kann das liegen? :gruebel:
€dit: Hatte das Restoren der Collection vergessen :wall:

igel457 14. Dez 2006 14:51

Re: Andorra 2D - The Next Generation 2D Engine
 
Puh, bin ich froh, dass die Fehler nicht an mir liegen.

Gerade eben muss ich noch an einem Projekt für die Schule "PHP'N", deshalb werde ich erst nächste Woche wieder Zeit finden an dem Projekt weiter zu schreiben. Und dann ist erstmal die Dokumentation dran.

Danke fürs Testen,
Igel457

igel457 26. Jan 2007 17:31

Re: Andorra 2D - The Next Generation 2D Engine
 
So, seit dem ich mich hier das letzte mal gemeldet habe, ist fast ein Monat vergangen.

Doch in dieser Zeit habe ich praktisch die gesamte Engine von innen heraus ein wenig umgekrempelt. Äußerlich ist eigentlich kaum etwas davon zu merken, außer das man ein paar Befehle anders aufrufen muss und dass es an einigen Stellen viel schneller läuft und an anderen ein wenig langsamer.

Außerdem habe ich ein paar "einfache" Demos gemacht, die den Aufbau besser verdeutlichen.
Dann habe ich mal noch das gesamte Interface (nach)komentiert und mit PasDoc zu einer Dokumentation gemacht.

Nivosta schreibt zurzeit an einem OpenGL Plugin under versucht das ganze unter Kylix und Lazarus zum laufen zu bekommen. Danke nochmal an dieser Stelle.

In ein paar Wochen wird es auch die (von mir) heiß erwartete Version 0.1 BETA geben und ich baue dann mal mein Spiel CrashPoint - The Experiment Failed um.

Bis dahin schreibe ich mal ein paar Tutorials.

Die neuste der Version der Engine gibts aber schonmal vorab im CVS Archiv oder wie immer, exklusiv für die DP :-) mit kompilierten Demos im ersten Beitrag.

Bei Fragen stehe ich jederzeit (7x24h) :-) zur Verfügung, Feedback ist dringlichst erwünscht!

Viel Spaß,
Igel457

[edit]Noch ein paar Fehler behoben.[/edit]

Neutral General 28. Jan 2007 12:30

Re: Andorra 2D - The Next Generation 2D Engine
 
Hi,

Also ich glaube irgendwas stimmt mit den Lichtern nicht... Oder ich mache was falsch...

Delphi-Quellcode:
// Meine Klasse
TTestSprite = class(TImageSpriteEx)
public
  Light:TLightSprite;
  constructor Create(AParent:TSprite);override;
end;

var
 Test: TTestSprite;

// Initialisieren von Andorra und erstellen meines Test-Sprites
procedure TMainForm.FormCreate(Sender: TObject);
begin
  FPS := TPerformanceCounter.Create;
  Surface := TAdDraw.Create(Self);

  try
    Surface.DllName := 'AndorraDX93D.dll';
  except
    FatalError('AndorraDX93D.dll konnte nicht gefunden oder geladen werden!');
  end;

  if not Surface.Initialize then
    FatalError('Initialation failed!')
  else Application.OnIdle := Idle;

  Engine := TSpriteEngine.Create(nil);
  Test   := TTestSprite.Create(Engine);
end;

constructor TTestSprite.Create(AParent: TSprite);
begin
  inherited Create(AParent);
  Light := TLightSprite.Create(Engine); // AV
end;

{...}

{->AdDraws.pas}

// Intern geschieht beim Createn die AV genau hier:
procedure TAdDraw.RegisterNotifyEvent(AProc: TSurfaceEvent);
begin
  FSurfaceEventList.Add(AProc); //<---
end;
Und wenn ich mein Programm dann beende bekomme ich nochmal eine Zugriffsverletzung bei Adresse 000000.

PS: Hat sich erledigt: Ich hab

Delphi-Quellcode:
Engine.Surface := Surface;
vergessen :oops:

Gruß
Neutral General

igel457 28. Jan 2007 16:09

Re: Andorra 2D - The Next Generation 2D Engine
 
Hallo,

ich bin ja immer wieder erleichetert, dass die Fehler nicht direkt an mir liegen. Aber damit auch solche Fehler wengier oft vorkommen schreibe ich gerade an einigen Tutorialen...

Das erste gibt es schon mal hier. Die ganze Liste mit Tutorialen findet ihr immer auf folgender Seite. In den nächsten Stunden, Tagen und Wochen kommen da garantiert noch einige dazu.

Wenn ihr vielleicht Lust haben solltet ein Tutorial zu übersetzen dann könnt ihr euch einfach bei mir melden.

igel457 4. Feb 2007 15:32

Re: Andorra 2D - The Next Generation 2D Engine
 
Hallo,

ich habe mal wieder eine neue Version hoch geladen. Von mir gefundene Bugs habe ich entfernt, außerdem gibt es das Projekt aus dem zweiten Tutorial als Demo.
Als Krönung gibt es einen Image List Editor mit dem man Andorra Image Libraries (*.ail) erstellen und bearbeiten kann. Außerdem kann man mit diesem Tool aus vielen Einzelbildern mit 3 Klicks eine Animation erzeugen.



Mich würde mal interessieren, was ihr von dem Editor haltet, hat mich schließlich eine Menge Zeit gekostet (naja, 2 Tage)...

framik 5. Feb 2007 19:56

Re: Andorra 2D - The Next Generation 2D Engine
 
Hallo,

habe diese Woche beschlossen ein altes DelphiX-Projekt wieder neu aufleben zu lassen.
Da kommt mir deine Engine gerade recht, da es sich um ein 2D-Game mit Sicht von oben handelt.
Werde also die nächste Zeit versuchen mich einzuarbeiten.
Warte deshalb auch gespannt auf dein Tutorial zur SpriteEngine.

Kleiner Kritikpunkt von mir: Die PNGImage-Libary könnte ruhig bereits im Andorra-Paket dabei sein. Wäre etwas "komfortabler".

igel457 6. Feb 2007 14:31

Re: Andorra 2D - The Next Generation 2D Engine
 
Danke für deine Antwort und das Interesse.

Zitat:

Zitat von framik
Kleiner Kritikpunkt von mir: Die PNGImage-Libary könnte ruhig bereits im Andorra-Paket dabei sein. Wäre etwas "komfortabler".

Hmmm... Könnte ich machen. Und wenn ich gerade dabei bin kann ich auch noch die DirectX Header dazu tun.

Zitat:

Zitat von framik
Warte deshalb auch gespannt auf dein Tutorial zur SpriteEngine.

Keine Angst, das kommt. Habe aber momentan recht viel in der Schule zu tun. Vielleicht finde ich dieses Wochenende etwas Zeit.

Und noch eine kleine Bitte von mir: Wenn ihr einen Bug findet, meldet euch bei mir über ICQ, schreibt euch in den Bug Tracker bei SourceForge oder schreibt hier eine Antwort. Ich versuche mich sofort darum zu kümmern!

mimi 6. Feb 2007 14:39

Re: Andorra 2D - The Next Generation 2D Engine
 
sag mal ist das projekt auch für linux geeignet ?

igel457 6. Feb 2007 14:47

Re: Andorra 2D - The Next Generation 2D Engine
 
Nivosta möchte sich darum kümmern. Der schreibt auch gerade das OpenGL plugin.
Momentan compiliert Andorra 2D nur unter Delphi (auch da das OpenGL Plugin noch nicht existiert). Aber solange du keine Windows spezifschen Units verwendest, sollten Programme, die du jetzt mit Andorra 2D schreibst bald auch unter Linux und anderen Platformen laufen.

framik 6. Feb 2007 17:51

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

Zitat von igel457
Hmmm... Könnte ich machen. Und wenn ich gerade dabei bin kann ich auch noch die DirectX Header dazu tun.

:???: nur braucht man die nicht um die Bounce-Demo zu kompilieren... :wink:

Hier auch schon meine erste Frage:

Möchte meine Spielfläche in 2 oder 3 Zoomstufen darstellen, aber nur 1 Textur verwenden.
Gibt es eine Möglichkeit einen Zoom-Faktor für zu benutzen?

igel457 7. Feb 2007 18:47

Re: Andorra 2D - The Next Generation 2D Engine
 
Also. Ich habe mal eine neue Version hoch geladen. Die Header und PNGDelphi sind noch nicht drin. Dafür aber eine neue Demo. Und zwar ist es diesesmal eine einfache Breakout-Version, in der ich das neue "TParticleSprite" verwende.

Ich hoffe, ihr schaut es euch mal an.

@framik:
Zitat:

Zitat von framik
Möchte meine Spielfläche in 2 oder 3 Zoomstufen darstellen, aber nur 1 Textur verwenden.
Gibt es eine Möglichkeit einen Zoom-Faktor für zu benutzen?

Nein, das gibt es (noch) nicht. An deiner stelle würde ich mal noch ein klein wenig warten. Dann gibt es nämlich eine Art 3D-Kamera, bei der du stufenlos herein und raus Zoomen kanst. Einen kleinen Trick gibt es aber schon. Schreibe einfach:
Delphi-Quellcode:
AdDraw.AdAppl.Setup2DScene(DeineBreite*ZoomFaktor,DeineHöhe*ZoomFaktor);
Nun musst du nur noch von der SpriteEngine (falls du diese verwendest) das SurfaceRect verändern (dazu musst du in der aktuellen Version noch FSurfaceRect aus dem private Teil in den protected Teil der deklaration verschieben. In den nächsten Versionn wird dies dann schon so sein). Am besten leitest du einfach eine Klasse von der SpriteEngine ab, die dies alles für dich übernimmt.

CK_CK 7. Feb 2007 19:07

Re: Andorra 2D - The Next Generation 2D Engine
 
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab' mal eine Frage:
Die Demos Bounce und Breakout ruckeln bei mir. Es läuft ein/zwei Sekunden ruckelfrei und dann wird für eine Sekunde alles nur langsam gezeichnet. Das wiederholt sich dann immer so...

Ist das nur bei mir so? Wenn ja: Soll ich mal versuchen, ein Screen-Video davon zu machen?

Chris

EDIT: Jetzt ist's noch schlimmer. Hab's mal abgefilmt und in den Anhang gepackt...

igel457 7. Feb 2007 19:55

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

Zitat von CK_CK
Ich hab' mal eine Frage:
Die Demos Bounce und Breakout ruckeln bei mir. Es läuft ein/zwei Sekunden ruckelfrei und dann wird für eine Sekunde alles nur langsam gezeichnet. Das wiederholt sich dann immer so...
Ist das nur bei mir so? Wenn ja: Soll ich mal versuchen, ein Screen-Video davon zu machen?
Chris
EDIT: Jetzt ist's noch schlimmer. Hab's mal abgefilmt und in den Anhang gepackt...

Das ist wirklich komisch. Allerdings könnte ich mir vorstellen, dass es am "OnIdle" liegt. Versuche mal folgendes. Öffne im "bin" Verzeichnis die "settings.ini" und stelle "fullscreen" von 0 auf 1. Starte dann "bounce.exe". Mich würde mal interessieren, ob es jetzt läuft.

Außerdem würde mich mal die Konfiguration deiner PC Hardware interessieren.

In meiner Familie läuft es auf jedem (neueren, sprich alter kleiner als 5 Jahre) PC und auch bei einem Freund von mir lief es ohne Probleme und selbst unter Linux mit Wine.

Zu deinem Video: Die kann ich leider nicht abspielen, mit Fehlt irgendwie der Codec: Weder Winamp, noch der WMP 11 oder PowerDVD konnten das ganze abspielen. Was für einen Codec brauche ich da?

Danke für deine Rückmeldung,
igel457

CK_CK 7. Feb 2007 20:07

Re: Andorra 2D - The Next Generation 2D Engine
 
Hi!
Danke für die Antwort! Also, die Bounce-Demo ruckelt bei mir auch extrem, aber nicht, als wäre der PC zu schlecht, sondern irgendwie als wäre meine Grafikkarte nicht kompatibel oder so...

Im Fullscreen-Modus bekomme ich nur folgende Fehlermeldung:
Code:
---------------------------
Andorra 2D Bounce Demo
---------------------------
Zugriffsverletzung bei Adresse 00B02C29 in Modul 'AndorraDX93D.dll'. Lesen von Adresse 00000000.
---------------------------
OK  
---------------------------
auf schwarzem Hintergrund.

Mein Testrechner ist ein Laptop mit 1,8 GHz, 1024 MB RAM, 128 MB ATI Radeon xPress mit Windows XP Professional...
Eigentlich sollte der nicht das Problem haben (selbst Vampire:Bloodlines läuft ruckelfrei)...

Das Video hab' ich mit Camtasia gemacht. Ich weiß nicht, welcher Codec dafür nötig ist. Ich versuch' aber mal, das irgendwie umzuwandeln... :stupid:

Chris

CK_CK 7. Feb 2007 20:18

Re: Andorra 2D - The Next Generation 2D Engine
 
So, ich hab' das Video mal umgewandelt. Du kannst es dir hier anschauen:
http://informatik.kroegerama.de/BounceMPEG2_CK.mpg

Chris

EDIT: Sorry, ich wollte editieren und nicht neu posten... :cry:


EDIT2: Nachdem ich es selbst kompiliert habe und dann fullscreen=1 gesetzt habe, funktioniert es... Leider aber nur im fullscreen, sonst ruckelt es immer noch so merkwürdig...

framik 7. Feb 2007 21:16

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

Nein, das gibt es (noch) nicht. An deiner stelle würde ich mal noch ein klein wenig warten. Dann gibt es nämlich eine Art 3D-Kamera, bei der du stufenlos herein und raus Zoomen kanst.
Dann warte ich. Hat eh noch Zeit, da ich ja noch ganz am Anfang stehe :-)

Betreffend Bounce:
1. Bei mir ruckelt es auch. Aber nur wenn ein teil des Fensters außerhalb des Desktop geht oder wenn ich Bounce im HIntergund laufen lasse. Im zweiten Fall ruckelt dann halt die Maus. :?:

igel457 12. Feb 2007 16:17

Re: Andorra 2D - The Next Generation 2D Engine
 
Das es ruckelt wenn ich mit der Maus darüber gehe und wenn das Fenster im Hintergrund ist habe ich auch festgestellt. Allgemein scheint das immer dann zu sein, wenn irgendwelche dinge über das Fenster gezeichnet werden. Zum einen scheint dies am DirectX und zum anderen am OnIdle zu liegen. Ich schaue mal, was ich machen kann.

@CK_CK
Auf deinem PC scheint das ganz wirklich Probleme zu haben. Komisch. (Dass die Bälle in den Wänden hängen ist in dem Sinn kein Bug, das passiert zwangsläufig wenn die Performance schlecht ist. Das passiert auch ab und zu mal bei mir, dann kann man aber die 'r' Taste drücken, dann wird das ganze resetet.)

Ich darf euch auch noch Stolz mitteilen, dass die SpriteEngine (besonders die Kollisionen) nun viel schneller läuft. Im Optimalfall bis zu 400mal (!) schneller.

Danke an alle für die Mühe,
igel457

[edit]Fehler entfernt[/edit]

CK_CK 12. Feb 2007 21:34

Re: Andorra 2D - The Next Generation 2D Engine
 
Hi!
Also, ich habe das Problem gelöst, indem ich den Code aus OnIdle in [DIESEN TIMER] eingefügt (ist ein spezieller Timer für solche Zwecke, da er sehr genau ist und kleine Intervalle auch auf Win98-Rechnern unterstützt).
Dadurch funktioniert das ganze bei mir ruckelfrei und mit SEHR geringer CPU-Auslastung (das Hauptproblem des OnIdle-Events).

Vielleicht hast du ja Lust, dir den mal anzugucken. Irgenwie scheint sich keiner dafür zu interessieren :cry:

Und nochwas: Ich warte schon sehnsüchtig auf ein Partikelsystem-Tutorial... ;)

Viele Grüße,
Chris

Gehstock 12. Feb 2007 22:36

Re: Andorra 2D - The Next Generation 2D Engine
 
Läuft Super ohne Ruckeln ohne Fehler

Da bekommt man glei Lust selber n Spiel mit zu basteln

Gute Arbeit Danke

igel457 15. Feb 2007 18:16

Re: Andorra 2D - The Next Generation 2D Engine
 
Ja, Hallo erstmal. (soll eine Anspielung sein)

Erstmal Danke für die Rückmeldung.

@CK_CK: Ich schaue mir mal deinen Timer an. Wenn du nichts dagegen hast und meine Test "positiv" verlaufen kann ich ihn auch direkt in Andorra einbauen. Ich schreibe am (langen) Wochenende an den Tutorials weiter - versprochen.

@Gehstock: Bitte.

Ich habe mal eine neue Version hochgeladen. Neu daran sind folgende Sachen:
  • Schnellere Spriteengine
    Durch optimierte Kollisionen ist die SpriteEngine im Optimalfall bis zu 400 (!) mal schneller. Die gilt allerdings nur für Spiele mit großflächigen Spielfeldern ab (25x25) Felder aufwärts und vielen Sprites die Kollisionen mit anderen Sprites durchführen möchten. Dafür verwende ich ein neues Kollisionssystem. Falls es damit Probleme geben sollte, meldet euch einfach. Das neue Kollisionssystem ist Standardmäßig aktiviert. Mit SpriteEngine.CollisionOptimisationTyp := ctNormal; kann es deaktiviert werden.
  • Textausgabe

    Da ich es in den Demos noch nicht verbaut habe, hier mal eine kleine Anleitung für die Verwendung:
    Delphi-Quellcode:

    procedure FormCreate;
    begin
    ..

    AFont := TAdFont.Create(AdDraw1);
    //Einfachen Font erstellen oder...
    AFont.CreateFont('Arial',[fsBold],12); //Erzeugt einen Font der Schriftart 'Arial', Fett in Schriftgröße 12 
    //...Font mit Schatten erstellen
    AFont.CreateFont('Arial',[fsBold],12,true,2,3,128); //Erzeugt den Font mit Schatten, 2px von der Schrift entfernt und in Stufe drei "geblurt" mit einem Alpha-Wert von 128.

    ...
    end;

    procedure Render;
    begin
    ..
    AFont.TextOut('Dies ist ein schöner Test :-)',100,200); //Gibt Text an Stelle (100|200) aus.
    ..
    end;

    //Natürlich das freigeben nicht vergessen

Ich hoffe ihr könnt etwas mit meinen Veränderungen anfangen,
Igel457

PS: Beinahe hätte ich es Vergessen: Ich habe es mir gründlich überlegt und entschieden, dass ich das PNGDelphi nicht standardmäßig mitliefere: Es ist nämlich ziemlich "groß" (gepackt 260kB) und erstreckt sich über fast 20 Dateien. Ladet es auch einfach hier herunter.

framik 15. Feb 2007 18:37

Re: Andorra 2D - The Next Generation 2D Engine
 
Danke für die Font-Klasse. Daruaf habe ich schon gewartet.

Betreff PNGLib: okay, Aufgrund der Größe verstehe ich die Entscheidung.

CK_CK 15. Feb 2007 19:19

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

Zitat von igel457
@CK_CK: Ich schaue mir mal deinen Timer an. Wenn du nichts dagegen hast und meine Test "positiv" verlaufen kann ich ihn auch direkt in Andorra einbauen. Ich schreibe am (langen) Wochenende an den Tutorials weiter - versprochen.

Natürlich darfst du den verwenden. :thumb:
(Kannst ja im Code vermerken, dass er von mir ist...) :stupid:

Schönen Abend noch,
Chris

EDIT: NOCHMAL EINEN RIESENLOB FÜR DIE ENGINE! (Wollte ich unbedingt noch loswerden :mrgreen:)

igel457 18. Feb 2007 16:16

Re: Andorra 2D - The Next Generation 2D Engine
 
Hallo,

ertmal danke für eure Antworten.

Ich bin gerade dabei mein in DelphiX geschriebenes Spiel "CrashPoint" nach Andorra 2D zu portieren. Dein Großteil habe ich eigentlich schon. Nun läuft das ganze schonmal je nach Anzahl von Kisten und Größe der Landschaft zwischen 300 und 800 FPS schnell, das sind ungefähr doppelt so viele FPS wie vorher.


Außerdem habe ich die Engine soweit angepasst, dass sie unter Lazarus kompiliert. Nun fehlt nur noch das OpenGl Plugin.
Ich suche momentan noch nach einem Cross-Plattform Multimedia Timer. Gefunden habe ich allerdings noch keinen.

Igel457

PS: Ich habe ein weiteres Tutorial geschrieben, da der Shell Server von SF aber bis 21. Feb. nicht geht, wird es dieses erst dann geben.

TeronG 19. Feb 2007 11:16

Re: Andorra 2D - The Next Generation 2D Engine
 
Könntest du (z.b. im ersten Post) auf deine DP-Tutorial-Threats verlinken?
Dann würde ma sie besser finden

igel457 19. Feb 2007 11:42

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

Zitat von TeronG
Könntest du (z.b. im ersten Post) auf deine DP-Tutorial-Threats verlinken?
Dann würde ma sie besser finden

Gute Idee, habe ich vergessen.
Die Tutorials sind nun verlinkt.

TeronG 19. Feb 2007 12:40

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

Zitat von igel457
Gute Idee, habe ich vergessen.

klar ... war ja auch von mir :mrgreen: ...... :oops:

framik 20. Feb 2007 18:22

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

Zitat von igel457
Delphi-Quellcode:
AFont := TAdFont.Create(AdDraw1);
//Einfachen Font erstellen oder...
AFont.CreateFont('Arial',[fsBold],12); //Erzeugt einen Font der Schriftart 'Arial', Fett in Schriftgröße 12

Da scheint noch was nicht zu funktionieren.

Bei mir gibt es einen Absturz in AdDraws bei

Delphi-Quellcode:
 
if AShadow then
    begin
      bmp2 := TBitmap.Create;
      bmp2.Assign(bmp);
      bmp2.Canvas.Brush.Assign(Brush);
      bmp2.Canvas.Font.Assign(Font);
    end;
bmp2.Canvas.Font.Color := RGB(AShadowAlpha,AShadowAlpha,AShadowAlpha); //<-- hier kommt der Absturz
Da AShadow bei mir false ist, wird bmp2 natürlich nicht erstellt danach aber trotzdem zugegriffen :-(

EDIT: Zusatzfrage, was gebe ich an wenn ich fsBold nicht nutzen möchte, also normale Schriftart?

Neutral General 20. Feb 2007 18:29

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

Zitat von framik
EDIT: Zusatzfrage, was gebe ich an wenn ich fsBold nicht nutzen möchte, also normale Schriftart?

Ich schätze mal

Delphi-Quellcode:
AFont.CreateFont('Arial',[],12);
Der Zweite Parameter ist ein Set.. Also ginge mit Sicherheit auch:

Delphi-Quellcode:
AFont.CreateFont('Arial',[fsBold,fsStrikeOut,fsItalic],12);
;)

Gruß
Neutral General

igel457 20. Feb 2007 19:10

Re: Andorra 2D - The Next Generation 2D Engine
 
:oops:
Ja, den Fehler kannte ich und ich habe ihn auch schon und behoben.

Schau mal hier...
http://andorra.cvs.sourceforge.net/*...?revision=1.31

Ersetzte einfach mal die Datein.

(Gerade war ich der 888 Besucher auf meiner Website :-))

Igel457

framik 24. Feb 2007 12:20

Re: Andorra 2D - The Next Generation 2D Engine
 
Zitat:

Zitat von igel457

Schon gemacht. Ist jetzt wieder okay.

Kleine Verbessrungsvorschlag hab ich aber doch noch für TAdFont.
Das Feld FParent in TAdFont sollte auch eine public Property Parent haben, damit man vor der Ausgabe mit Textout noch das Ziel-AdDraw ändern kann.
In meinem Anwendungsfall ist zum Zeitpunkt dr Erstellung von TAdFont die AdDraw nämlich noch nicht festgelegt. :cry:

EDIT: Argh...TAdFont.Create(nil) geht ja gar nicht...wegen der FTexture...da muss ich mir wohl was anderes einfallen lassen

igel457 24. Feb 2007 13:35

Re: Andorra 2D - The Next Generation 2D Engine
 
Liste der Anhänge anzeigen (Anzahl: 1)
Es ist leider nicht möglich das ganze auf mehrere AdDraws zu verteilen. AdDraw repräsentiert intern ein eigenes IDirect3DDevice9 und dem kann nur eine Textur gehören. Die Angabe des AdDraw bei der "Draw" Routine ist (momentan) nur aus kompatibilitätszwecken zu DelphiX. Später wird es aber so genannte Surfaces geben, auf die dann gezeichnet werden kann.

Im Anhang ist mal noch ein kleines Bildchen von meinem aktuellen Teilprojekt und zwar Newton für Andorra 2D.

igel457 25. Feb 2007 20:52

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.15]
 
Hallo.

Jetzt gibt es Version 0.15 von Andorra 2D zum Download. Es stehen fünf verschiedene Packages zur Auswahl. Eine Aufzählung gibt es hier.

Danke an framik, der eine praktische Unit (AdApps.pas) geschrieben hat, die die Initialisierung von Andorra 2D auf wenige Zeilen verkürzt.

Viel Spaß damit,
Igel457

mimi 26. Feb 2007 11:10

Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.15]
 
ich habe heute versucht unter Lazarus(unter ubuntu) es zu komplieren. bzw. ich habe die units
eingebunden AdDraws, AdClasses und er meckert in der AdDraws unit das er die unit Windows nicht findet !

edit:
ich habe jetzt mal die windows unit überall entfernt leider kein erfolgt. nun findet er die LoadLibrary
funktion nicht mehr !


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 Uhr.
Seite 2 von 26     12 3412     Letzte »    

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