![]() |
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:
Ich bekomme aber immer die Fehlermeldung von der MessageBox zu sehen. Was ist an der Inizialisierung falsch ?? :gruebel:
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. Vielen Dank schon einmal :) |
Re: Andorra 2D - Fragen
Ist die DLL überhaupt da?
|
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??
|
Re: Andorra 2D - Fragen
Schieb die DLL mal in den Projektordner.
|
Re: Andorra 2D - Fragen
Zitat:
![]() |
Re: Andorra 2D - Fragen
Zitat:
Ich habe das geade versucht und iwas runtergeladen und iwo hinkopiert und iwie gehofft. Ganz ehrlich ich verstehe das bisher echt noch nicht. |
Re: Andorra 2D - Fragen
Wo ist denn die DLL? Falls sie nicht da ist, musst Du sie selbst kompilieren, ansonsten ins Programmverzeichnis kopieren.
|
Andorra2D - Frames
Hallo, ich habe jetzt nach langer Zeit wieder mit Andorra2D angefangen, und arbeite die Tutorials durch, die man auf
![]()
Delphi-Quellcode:
In Form.Create erzeuge ich auch die Variable AdPerCounter
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;
Delphi-Quellcode:
Bei mir ändert sich aber nichts an der Geschwindigkeit der Abfolge der Bilder. Was mache ich falsch?
AdPerCounter:= TAdPerformanceCounter.Create(false); //Für Frames
Vielen Dank im Vorraus olle. |
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:
Das verstehe ich noch nicht so ganz :gruebel:
Pattern:= 0;
mfg Looper |
Re: Andorra 2D - Fragen
Lass einfach diese Zeile weg:
Delphi-Quellcode:
Pattern:= Pattern +1;
|
Re: Andorra 2D - Fragen
jap. habe ich auch gerade gemerkt. :wall: :wall: :wall:
Danke. @ Looper Die Zeile ist wichtig. Sie ist ja mit der If-Abfrage die Zeile drüber verbunden. Pattern gibt an, welches Bild der Animation ich benutzen muss. D.h. ich habe eine Figur, die sich bewegt. Und für jede Bewegung gibt es ein neues Bild (Pattern). Also z.B: 15 Pattern, die ich nacheinander anzeigen muss. Bin ich Bei Pattern Nr. 14 angekommen, muss ich Pattern wieder auf 0 setzen, damit das ertse Bild wieder angezeigt wird. |
Re: Andorra 2D - Fragen
Ja, Fehler von mir!
|
Re: Andorra 2D - Fragen
Hm, ich kenne mich leider mit .dlls nicht aus...
Im Unterordner "dll" sind ja 3 Ordner zu finden, als erste wollte ich mal die directx dll compilieren (AndorraDX93D.dll). Die Zugehörige Projektdatei "AndorraDX93D.dpr" kann ich auch ohne Probleme öffnen, nur streikt er beim compilieren schon im 2. (und letzten) Eintrag der Uses: "AdClasses". :wall: Meldung: "File not Found AdClasses.dcu". Stimmt auch, die Datei ist nirgendwo zu finden. :gruebel: Des weiteren verwirrt mich die Sache mit den Headern. Ich habe sie - wie es in der compile.txt steht, heruntergeladen, weiß nun aber nicht so genau, wohin damit. :gruebel: Ich hoffe, dass mir jemand helfen kann... Vielen Dank schonmal für die Antworten! P.S.: ist das dann vorerst die einzige .dll, die ich brauche, oder sind noch andere nötig? |
Re: Andorra 2D - Fragen
Ist denn die AdClasses.pas da?
|
Re: Andorra 2D - Fragen
Ja, die ist da.
*.dcu sind soweit ich weiß ja kompilierte Units oder so, aber wie mache ich aus der .pas eine .dcu? Ich habe schon versucht sie in ein Projekt einzubunden, aber dann fehlen ja wieder 100 andere Units -.- |
Re: Andorra 2D - Fragen
Du musst in den Umgebungsoptionen den Suchpfad auf den Ordner stellen, in denen die ganzen *.pas-Dateien von Andorra liegen. (src)
|
Re: Andorra 2D - Fragen
Hatte ich schon getan... hab Delphi nochmal neu gestartet, den Pfad nochmal raus und wieder rein genommen,... irgendwann gings dann, vermutlich irgendwo nen Fehler gemacht.
Mecker gibts aber immernoch: Wenn ich AndorraDX93D kompilieren will, wird die AdTypes Unit geöffnet und folgende Meldung ausgegeben: [Fatal Error] AdTypes.pas(485): F2039 Could not create output file '..\..\dcu\AdTypes.dcu' (Das wird nach der letzten Zeile von AdTypes.pas ausgespuckt) Sonst sind keine Fehler im Code markiert. |
Re: Andorra 2D - Fragen
Das ist normalerweise der Fall, wenn irgendein Programm die Ausgabedatei gesperrt hat oder die Ausgabedatei schreibgeschützt ist. Könnte aber auch sein, dass die Datei aus irgendeinem Grund doppelt im Suchpfad ist und Delphi selbst versucht, zweimal hineinzuschreiben. Halte ich für unwahrscheinlich, aber das wäre noch eine Erklärung.
|
Re: Andorra 2D - Fragen
Nach der *.dcu habe ich ja schon gesucht, die gibt es auf meinem PC nicht. Daran liegst wohl nicht.
Menno, warum kann die *.dll nicht einfach mit im Achiv sein :( |
Re: Andorra 2D - Fragen
Du musst den Ordner "dcu" einfach noch manuell im Ordner "src" erstellen. Im "Full package" von Andorra 2D sind alle DLLs (von AndorraDX93D, AndorraOGL, über GLFW, bis hin zu libmpeg2), die du irgendwann mal brauchen könntest im Verzeichnis "bin" enthalten.
|
Re: Andorra 2D - Fragen
Ich hab mir das Full Package nochmal gezogen, alle *.dlls in den Projektordner gepackt und irgendwie bin ich auch endlich an die *.dcus gekommen, aber Delphi sagt immernoch, dass er z.B. die AdDrawas.dcu nicht finden kann...
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:00 Uhr. |
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