Delphi-PRAXiS
Seite 58 von 103   « Erste     848565758 596068     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)

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


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:47 Uhr.
Seite 58 von 103   « Erste     848565758 596068     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