Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Andorra 2D - Fragen (https://www.delphipraxis.net/106796-andorra-2d-fragen.html)

olle 16. Jan 2008 21:02


Andorra 2D - Fragen
 
Hi, ich schriebe in Informatik über andorrasd eine Facharbeit. Im Laufe der Facharbeit werde ich mit Sicherheit eine Menge fragen haben und da ich nicht jedes Mal ein neues Thema aufmachen wollte, würde ich einfahc immer wieder hier reinposten.
Die erste Frage habe ich shcon *g*
Mein Code:
Code:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs,AdDraws, AdClasses, AdTypes;

type
  TForm1 = class(TForm)
    procedure FormCreate(Sender: TObject);
    procedure Free(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  AdDraw: TAdDraw;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  AdDraw:= TAdDraw.create(self);
  AdDraw.DllName:= 'AndorraDX93D.dll';
  if (AdDraw.Initialize) then begin
    // irgend etwas
  end else begin
    ShowMessage('Fehler, bei der Initialisierung von Andorra 2D');
    halt;
  end;
end;

procedure TForm1.Free(Sender: TObject);
begin
  AdDraw.Free;
end;

end.
Ich bekomme aber immer die Fehlermeldung von der MessageBox zu sehen. Was ist an der Inizialisierung falsch ?? :gruebel:

Vielen Dank schon einmal :)

3_of_8 16. Jan 2008 21:09

Re: Andorra 2D - Fragen
 
Ist die DLL überhaupt da?

olle 16. Jan 2008 21:17

Re: Andorra 2D - Fragen
 
weiß ich nicht genau. Ich habe die units für andorra2d in delphi/lib/andorra/ drin. In andorra gibt es nocheinmal einen unterordner, der "dll" heißt, wo ich in einem weitern unterordner "DircetX" "andorraDX3D.dpr/.pas/.res etc finde. Reicht das, oder muss ich da iwas noch ergänzen??

fLaSh11 16. Jan 2008 21:21

Re: Andorra 2D - Fragen
 
Schieb die DLL mal in den Projektordner.

DeddyH 16. Jan 2008 21:22

Re: Andorra 2D - Fragen
 
Zitat:

Zitat von compile.txt
This file will help you to get your version of Andorra compiled.

DirectX Plugin:
----------------
If you want to compile the file "AndorraDX93D.dll", you have to download the corresponding headers. You'll get them by downloading them from following page:

http://www.clootie.ru/

Note: If you use newer headers, you'll also need to download the new DirectX-DLL files. (d3dx9_xx.dll)

OpenGL Plugin:
--------------
The OpenGL Plugin is still missing.

Compressors and additional file formats:
----------------------------------------
If you want to use the AdPng.pas for highly compressed graphics, you'll need to download the PNG Delphi library (http://pngdelphi.sourceforge.net).


If you have any questions, feel free to write an e-mail to:
andreas.stoeckel@gmx.net

Have a lot of fun!

Außerdem: Tutorial von Igel persönlich

olle 16. Jan 2008 21:40

Re: Andorra 2D - Fragen
 
Zitat:

Zitat von DeddyH

Genau mit diesem Tutorial mache ich es ja. Ich habe die Punkte nacheinander abgearbeitet. Bei "Andorra 2D Initialisieren" komme ich aber einfach nicht weiter, weil der besagte Fehler auftritt.
Ich habe das geade versucht und iwas runtergeladen und iwo hinkopiert und iwie gehofft.

Ganz ehrlich ich verstehe das bisher echt noch nicht.

DeddyH 16. Jan 2008 21:47

Re: Andorra 2D - Fragen
 
Wo ist denn die DLL? Falls sie nicht da ist, musst Du sie selbst kompilieren, ansonsten ins Programmverzeichnis kopieren.

olle 3. Mär 2008 16:29

Andorra2D - Frames
 
Hallo, ich habe jetzt nach langer Zeit wieder mit Andorra2D angefangen, und arbeite die Tutorials durch, die man auf http://andorra.sourceforge.net/ findet. Bin jetzt so weit, dass ich ein animiertes Bild erzeugen will. Habe jetzt also ein Bild, dass ich in Pattern eingeteilt habe. Die Animation steht soweit auch. Nur ist eben das Problem, dass die Schleife ca 5000mal / Sekunde durchläuft. Darum soll man ja "AdPerformanceCounter" iwie das mit Frames umsetzen. Bei mir klappt das aber leider nicht :(

Delphi-Quellcode:
procedure TForm1.Idle(Sender: TObject; var Done: boolean);
begin
  AdPerCounter.Calculate;
  Pattern:= Pattern + 15 * (AdPerCounter.TimeGap / 1000); //15 Frames / Sekunde

  if AdDraw1.CanDraw then  //Wenn gezeichnet werden kann
  begin
    AdDraw1.ClearSurface(clBlack); //Hintergrundfarbe

    AdDraw1.BeginScene;
      Pattern:= Pattern +1;                                  //Filmstreifen durchlaufen
      if Pattern >= AdImageList.Items[0].PatternCount-1 then //Wieder auf 0 setzen, wenn Ende erreicht ist
        Pattern:= 0;
      AdImageList.Find('figur1').Draw(AdDraw1,0,0,round(Pattern)); //Bild wird angezeigt
    AdDraw1.EndScene;

    AdDraw1.Flip;
  end;
  Done := false;
end;
In Form.Create erzeuge ich auch die Variable AdPerCounter
Delphi-Quellcode:
AdPerCounter:= TAdPerformanceCounter.Create(false); //Für Frames
Bei mir ändert sich aber nichts an der Geschwindigkeit der Abfolge der Bilder. Was mache ich falsch?

Vielen Dank im Vorraus olle.

Looper 3. Mär 2008 16:46

Re: Andorra 2D - Fragen
 
Ich glaube, dass du bei Pattern irgendetwas falsch verstanden hast.
Du änderts zuerst die Variable Pattern mit dem PerformanceCounter, was allerdings alles für die Katz ist, denn später sagst du wieder:
Delphi-Quellcode:
Pattern:= 0;
Das verstehe ich noch nicht so ganz :gruebel:

mfg Looper

igel457 3. Mär 2008 17:04

Re: Andorra 2D - Fragen
 
Lass einfach diese Zeile weg:
Delphi-Quellcode:
Pattern:= Pattern +1;


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:42 Uhr.
Seite 1 von 3  1 23      

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz