Delphi-PRAXiS
Seite 15 von 26   « Erste     5131415 161725     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)

3_of_8 25. Mär 2008 17:56

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Bei OpenGL liegt der Usprung links unten.

Und du musst Idle als Methode des Formulars noch implementieren und AdDraw als Feld vom Typ TAdDraw.

STS301 25. Mär 2008 18:02

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
habe das mit AdDraw schon vorher gemacht, habe jetzt idle implentiert und er spuckt die meldung bei "@idle" aus
Andorracompile_zu.pas(37,30) Error: Variable identifier expected

wenn ich das @ weglasse funktioniert es zwar, er spuckt danach aber eine Fehlermeldung aus

@3_of_8

es ist aber DirectX (habe jedenfalls die AndorraDX93D.dll eingebunden)

inherited 25. Mär 2008 22:20

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Wenn du Delphi und nicht Objectpascal benutzt muss das @ weg.
(In Lazarus siehst du das an dem CompilerSchalter, da hast du {$MODE DELPHI} gesetzt. Deshalb muss das @ weg. steh im Lazarus-Tutorial auch falsch drinne)

3_of_8 25. Mär 2008 22:21

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Bei DirectX müsste es genauso sein.

STS301 26. Mär 2008 07:03

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
wie gesagt es funktioniert ja auch, nur halt mit fehlermeldung.

er spuckt beim Beenden dann die Fehlermeldung aus.

Project raised exception class 'External: SIGSEGV'.

Ausführung angehalten

Adresse: $00000000
Prozedur: ??
Datei:

(TODO: Assembler-Ansicht an der Stelle

Die Datei "objpas.inc" wurde nicht gefunden.
Wollen sie selbst nach ihr suchen? (es gibt aber keine datei auf meinem Rechner die so heißt)
habe die 0.9.25 Version

@3_of_8: tut es aber nicht :?:??

STS301 30. Mär 2008 18:20

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
keiner eine Idee?

igel457 30. Mär 2008 19:39

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Hallo,

setze in deine Finalisierungsroutine einen Haltepunkt und gehe das Schritt für Schritt durch - sag' mir dann ganz genau wo der Fehler auftritt. Im Notfall kannst du einfach einen externen Debugger wie GDB verwenden.

STS301 30. Mär 2008 20:11

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
wie mache ich das in Lazarus mit dem Haltepunkt??

wenn ich den Source compiliere und als .exe ausführe, funktioniert alles tadellos

igel457 30. Mär 2008 20:26

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Zitat:

Zitat von STS301
wie mache ich das in Lazarus mit dem Haltepunkt?

So wie in Delphi auch. Linksklick auf den linken Rand.

Wenn du spezifische Fragen zu Lazarus hast, dann wende dich am besten direkt an die Entwickler:
http://www.lazarus.freepascal.org/mo...BB2&file=index

STS301 31. Mär 2008 10:53

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
AdDraw.Free stört ihn, wenn ich es lösche ist alles ok

igel457 31. Mär 2008 14:55

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Rufst du AdDraw.Free auch zuletzt auf?

STS301 31. Mär 2008 15:36

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
es wird im OnDestroy aufgerufen, ist aber im Code zwischen OnCreate und Idle

im OnDestroy wird außer AdDraw.Free nichts aufgerufen

STS301 31. Mär 2008 19:49

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
hier kannst du dir ein besseres Beispiel machen können (falls alles passt)

ich habe versucht das Gui Tutrial mit Lazarus zu machen, nur er sagt mir bei dem Code folgende Fehler
Delphi-Quellcode:
{$MODE DELPHI}

interface

uses
  Classes, SysUtils, LResources, Forms, Graphics, Dialogs,
  ButtonPanel, AdDraws, AdGui, AdComponents, AdClasses, AdGUIConnector,
  AdPerformanceCounter, StdCtrls, ComCtrls;

type

  { TForm1 }

  TForm1 = class(TForm)
    procedure FormClick(Sender: TObject);
    procedure FormDestroy(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    procedure OpenClick(Sender:TObject);
    { private declarations }
  public
    AdDraw : TAdDraw;
    AdGui : TAdGui;
    AdConnector : TAdGuiConnector;
    AdPerCounter : TAdPerformanceCounter;
    procedure Idle(Sender:TObject;var Done:boolean);
    { public declarations }
  end;

var
  Form1: TForm1;

implementation

{ TForm1 }

procedure TForm1.OpenClick(Sender:TObject);
begin
  TAdButton(AdGUI.FindComponent('AdButton1')).Caption := 'Du hast mich geklickt!';
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  AdDraw := TAdDraw.Create(self);
  AdConnector := TAdGUIConnector.Create(AdGUI);
  AdGUI := TAdGUI.Create(AdDraw); //Erzeugen der Klasse

  AdDraw.DllName := 'C:\Documents and Settings\Blockbuster\Desktop\QuickDesktop\Andorra\ad2d_35_ALL\ad2d_35\bin\AndorraOGLLaz.dll';

  AdGUI.Skin.LoadFromFile('sunna.axs'); //Laden des Skins
  AdGUI.Cursors.LoadFromFile('cursors.xml'); //Laden der Cursor
  AdGUI.LoadFromFile('gui.axg'); //Laden der GUI
 
  TAdButton(AdGUI.FindComponent('AdButton1')).Caption := 'Hallo!';

  AdConnector.ConnectEventHandlers(self); <-- 1. Fehler
  Application.OnIdle := Idle;
  AdDraw.Initialize;
  AdGUI.FindComponent('btn_open').OnClick := OpenClick;
end;

procedure TForm1.FormClick(Sender: TObject);
var
  p:TPoint;
begin
  GetCursorPos(p); //Aktuelle Mauszeigerkoordinaten auslesen <-- 2. Fehler
  p := ScreenToClient(p); //In Koordinaten relativ zum Formular umrechnen
  if not AdGUI.Click(p.X, p.Y) then //Ereignisbehandlung ausführen
  begin
   //Es wurde auf das Spielfeld geklickt
  end;
end;

procedure TForm1.FormDestroy(Sender: TObject);
begin

end;

procedure TForm1.Idle(Sender: TObject; var Done:boolean);
begin
  AdDraw.ClearSurface(0);
  AdDraw.BeginScene;

  AdDraw.EndScene;
  AdDraw.Flip;
end;
1.= Error: Incompatible type for arg no. 1: Got "TForm1", expected "TAdWindowFramework"
2.= Identifier not found "GetCursorPos"

was habe ich falsch gemacht???

igel457 6. Apr 2008 19:59

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

aktuell arbeite ich an der Überarbeitung des Partikelsystems. Hier sind die Veränderungen daran, die euch erwarten, aufgelistet:

Partikelsystem
[+] Neue Einstellungsmöglichkeiten (Variation bei jedem Parameter einstellbar)
[+] Multithreading (Auf Mehrprozessorsystemen theoretisch zwei mal schneller)[*] Neustrukturierung (Setzt jetzt direkt auf der Grafikschnittstellenabstraktionsebene auf, zwei bis fünf mal schneller)
[+] Verwendung von Pointsprites (nur wenn gewünscht, da Skalierung und Rotation nicht möglich, ca. fünf mal schneller)
[+] Speichern der Einstellungen in XML
[+] Verwendung der RTTI
[+] Verschiedene Partikelklassen können nun ohne Umwege verwendet werden.
[-] Alte Partikel-Binärdateien können nicht geladen werden (außer es gibt deswegen großen Protest)

Nach dem Studieren des VLC-Sourcecodes habe ich heute das OpenGL-Plugin weiter optimiert, (PAL-)Videos können damit jetzt mit bis zu 80FPS wiedergegeben werden. Somit ist das Plugin in dieser Hinsicht jetzt schneller als das DirectX-Plugin.

Außerdem kann jetzt der Bildinhalt von Zeichenflächen (FBOs/RTTs) in den Hauptspeicher geladen werden und dort manipuliert werden. So kann man (zum Beispiel) Blur und Bloom Effekte erzeugen.

Als nächstes schreibe ich den Partikeleditor entsprechend um. Ich denke, dass ich dort (vorerst) auch einen TJvInspector verwende, um die Partikelparameter einzustellen.

Kommentare sind (wie immer) erwünscht,
Andreas

Achso, @STS301, schau dir mal den Sourcecode der "VideoPlayer" Demo an, dieser kompiliert auch unter Lazarus.

STS301 7. Apr 2008 07:03

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
mit dem Source habe ich es ja auch versucht, schaue aber noch einmal nach

Tibiasign 14. Apr 2008 15:46

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Hallo!

Ich hab folgendes Problem:
Ich verwende Delphi 7 Enterprise.. ich hab heute die Komponente runtergeladen und die Installationsanweisung befolgt und habe zu Anfang die AndorraDX93D.dll kompiliert und sie in das Verzeichnis /demos/SpriteEngine/WormHunter/ kopiert. dann habe ich die WormHunter.dpr kompiliert und gestartet.. es kommt erstmal ne Zugriffsverletzung und dann sagt er mir dass er die images.ail nicht finden kann (Sie ist jedoch im dort in der Fehlermeldung angegebenen Pfad vorhanden) und danach kommen nen Haufen Zugriffsverletzungen und das Programm stürzt ab.. Bin echt am verzweifeln :( Könnt ihr mir helfen?

Gruß, Tibiasign

igel457 14. Apr 2008 15:55

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Die Anwendungen im "Demos"-Verzeichnis werden automatisch ins Verzeichnis "bin" kompiliert. Dort musst du also die DLL einfügen.

Tibiasign 14. Apr 2008 16:11

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Danke erstmal!! So hab die Konstante path zu .\ gemacht und nun startet das Spiel auch im eigenen Verzeichnis! Leider kommt an Anfang wenn man auf "OK" zum Starten klickt eine Fehlermeldung:

"Access Violation at address 00BCA0EF in module "AndorraDX93D.dll". Read of address 00000000."

igel457 14. Apr 2008 16:35

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Kopiere mal noch die Datei "d3dx9_31.dll" aus dem bin-Verzeichnis dazu. Der Sinn von diesem "bin"-Verzeichnis ist ja eigentlich, dass sich alle immer wieder benötigten Programmteile dort befinden und nicht andauernd herumkopiert werden müssen.

Edit: Da fällt mir ein, dass die Einstellungen, wohin die einzelnen Dateien kompiliert werden sollen unter Delphi7 vermutlich nicht geladen werden, da du die ".bdsproj"-Datei nicht öffnen kannst... Also musst du die Dateien doch per Hand kopieren.

Tibiasign 14. Apr 2008 16:43

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Hallo igel!

Erstmal ein Lob an Andorra2D! Echt gut geworden von dem was ich bisher gesehen hab!
Die d3dx9_31.dll hab ich bereits in mein WormHunter Verzeichnis kopiert. Dies ändert leider nichts..

Gruß, Tibiasign

igel457 14. Apr 2008 16:48

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Kannst du mal einen Haltepunkt in der OnCreate-Ereignissmethode setzten und den Code Schritt für Schritt durchgehen und schauen wo genau der Fehler auftritt?

Danke für das Lob,
Andreas

Tibiasign 14. Apr 2008 16:55

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Hi Andreas!

Der Fehler tritt auf wenn der Code

Delphi-Quellcode:
AdDraw.Initialize
ausgeführt wird.

Edit: Vielleicht sollte ich dazu noch sagen, dass das Spiel einwandfrei läuft. Es kommt halt diese eine AV und nach dem wegklicken startet das Spiel wunderbar.

mimi 20. Apr 2008 20:22

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
seit heute läuft bei mir auch endlich unter Linux OpenGL da wollte ich natürlich sofort Andorra ausprobieren.

Leider finde ich bei mir diese Datei nicht: AndorraOGLLaz.lpi
in deinem Tutorial: Andorra 2D and Lazarus
schreibst du rein das ich diese Datei öffnen sollte. Aber ich finde sie nicht mal mit find im haupt Verzeichnis.

Ich habe die Version runtergeladen die auf deiner Download Seite die neuste.

pierredrks 21. Apr 2008 07:31

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Die Datei findest du unter /src/dll/opengl

mimi 21. Apr 2008 12:31

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Aber da ist sie leider nicht. Dort habe ich ja geschaut. Dort ist nur eine LPR Datei. und die bringt mich nicht weiter.
Habe ich mir die Falsche Version runtergeladen ?
Ich habe bei mir noch kein SVN installiert. Liegt es daran ?

STS301 21. Apr 2008 12:45

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
\\edit: sry FF hat bei mir ein wenig gesponnen, daher das Doppelposting

STS301 21. Apr 2008 12:47

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Liste der Anhänge anzeigen (Anzahl: 1)
An der Version kann es nicht liegen, bei mir funktioniert es mit 0.9.25 beta und 0.9.24 einwandfrei.
Die Datei ist unter dem von pierre genannten Verzeichnis.
Hier ist einmal die Datei von mir

mimi 21. Apr 2008 13:27

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Dann muss ich wohl was falsch verstanden habe. Im Tutorial steht aufjedenfall drin das ich diese Öffnen sollte um die Pfade zu ändern. Aber das klappt ja nicht mit einer LPR sondern nur mit eine LPI Datei. Naja dann werde ich mal die SVN Version als nächste Probieren.

STS301 21. Apr 2008 13:29

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
da 0.9.25 noch beta ist würde ich sie als IDE nicht benutzen.
Versuche es einfach mit der LPI Datei, wird schon richtig sein ;)

mimi 21. Apr 2008 13:46

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Zitat:

Versuche es einfach mit der LPI Datei, wird schon richtig sein
lol, ICH FINDE JA KEINE IM ARCHIV, es ist einfach keine vorhanden. :(
(Die SVN Version habe ich noch nicht versucht !)

Tumm 21. Apr 2008 14:23

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Du kannst auch mit Lazarus einfach die LPR Datei als Basis für ein neues Projekt auswählen.

Projekt -> Neues Projekt aus Datei -> Auswählen -> Library

mimi 21. Apr 2008 14:42

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Ich wollte erstmal testen ob die Beispiel sich Kompilieren lassen.
Aber leider finde ich auch keine SVN Version. Dabei meine ich gestern ein Link gefunden zu haben. Naja dann halt nicht.

mimi 21. Apr 2008 14:53

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Zitat:

Dazu öffnen wir die Datei "AndorraOGLLaz.lpi" aus dem Verzeichnis "src/dll/opengl/" mit Lazarus.
Das ist der Satzt auf den ich mich bezogen habe. Ich habe eben versucht ein Beispiel zu komplieren also ersteinmal nach Lazarus umgewandelt, läuft aber nicht da unter Lazarus ein TBitmap leider kein Scanline Eigenschaft hat.

Schade ! Wirklich. Hätte ich gerne mal ausprobiert.

STS301 21. Apr 2008 16:05

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
öfnne wie Tumm gesagt hat, eine neue "DLL" Bibliothek, dann öffnedie Datei, welche ich hineingestellt hat, und dann mach weiter

igel457 21. Apr 2008 16:58

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo,

tatsächlich befindet sich die LPI-Datei nicht im Archiv - Mein Fehler.
Allerdings steht da wirklich nicht viel drin. Jeder der sich ein bisschen mit Lazarus (oder Delphi) auskennt, sollte auf die Idee kommen, ein eigenes, neues Projekt (in unserem Fall eine Bibliothek) zu erstellen und die Hauptprogrammdatei (*.lpr) zum Projekt hinzuzufügen.

Für alle die (verständlicherweise) etwas zu Faul dazu sind, gibt es im Anhang die besagte Datei. (Im CVS ist die momentan aber auch noch nicht, also wundert es mich, wo die anderen die her haben...) ;-)

Bitte beachtet aber: Der Lazarus und vor allem der Linux Support ist etwas für fortgeschrittene Nutzer - dabei kann man immer wieder die seltsamsten Probleme stoßen, bei denen ich euch jedoch vermutlich nicht helfen kann, da sich die Vorgehensweise je nach Distribution unterscheidet. Deshalb bitte keine Fragen dazu an mich, sondern an die Hersteller der jeweiligen Komponenten.

Und noch etwas: Falls ihr eine neue Version aus dem CVS-Repository auscheckt, besorgt euch bitte den Branch Andorra_0_3_5 und ladet euch nicht den Trunk herunter - da sind nämlich meine aktuellen Entwicklungsdaten drin, die noch etwas experimentell sind - wer jedoch schon einmal einen Vorgeschmack auf die kommende Version haben möchte, der kann sich das Ganze natürlich anschauen. ;-)

Falls es noch Probleme geben sollte, meldet euch einfach.
Andreas

STS301 21. Apr 2008 17:06

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
welchen Branch?? nur den Source (auf deiner HP) oder was?

igel457 21. Apr 2008 17:09

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
http://de.wikipedia.org/wiki/Version...ng_und_Tagging
Ups, demnach habe ich es gerade falsch herum gemacht... :gruebel:

mimi 21. Apr 2008 17:46

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Danke ! Ich wollte auch schon eine neue LPI(LPK)Datei erstellen, aber ich wusste nicht genau welche Dateien drin sind, vermutlich nur die aus dem OpenGL Verzeichnis.

Ich wollte es erstmal nur zum laufen bringen und ausprobieren.
Evlt. Passe ich noch die Beispiel die dabei sind an.

Oder hast du schon welche für Lazarus und für Linux ?
Wenn ich die Engine zum laufen bekomme mache ich das !
Da ich ein neuen Rechner habe sehe ich das auch nicht mehr so eng mit der CPU last wobei ich zwei davon habe(cpu's)*G*.

mimi 21. Apr 2008 18:12

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Prima. Läuft. Das test Projekt aus dem Tutorial läuft schonmal.

Tumm 21. Apr 2008 19:28

Re: Andorra 2D [Ver. 0.35, 04.03.08]
 
Also ich hatte vor ein paar Tagen auch mal Andorra mit Linux compiliert und hab dann n einfaches Projekt gebaut, allerdings kamen dabei doch recht instabile Frameration von durchschnittlich sagenhaften 0,5 FPS heraus. Ein Timer statt der Idle-Methode hilft da wirklich weiter, vielleicht könnte man das irgendwo noch schreiben.
Aber sont funktioniert Andorra unter Linux genauso schön wie unter Windows.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:52 Uhr.
Seite 15 von 26   « Erste     5131415 161725     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