Hallo! Ich bin gerade dabei ein 2D Spiel zu schreiben, als Grafik Engine möchte ich Andorra 2D nutzen. Das kompilieren der <AndorraOGLLaz.dll> klappt ja, auch das kompilieren meines Quelltexts:
procedure TForm1.FormDestroy(Sender: TObject); begin AdDraw.Free; end;
procedure TForm1.Idle(Sender: TObject; var Done:boolean); begin AdDraw.ClearSurface(0); AdDraw.BeginScene; with AdDraw.Canvasdo begin Font := AdDraw.Fonts.GenerateFont('Arial',24,[]); TextOut(0,0,'Andorra 2D...'); Font := AdDraw.Fonts.GenerateFont('Arial',10,[]); TextOut(0,30,'...works with Lazarus too'); end; AdDraw.EndScene; AdDraw.Flip; end;
.... Nur leider wird mir nichts angezeigt! Hat mir wer villeicht noch ein anderes Tutorial bezüglich der installation von Andorra 2D?
Ich vermute die DLL wird nicht gefunden. Liegt sie im Anwendung Verzeichnis ? Setzt mal den Kompletten Pfad zu der DLL hin.
Gibt es unter Windows die Möglichkeit Meldungen von writeln auszugeben ? Ach ja: Andorra führt eine Log Datei. Schau da mal rein. Müsste sich da befinden, wo die EXE Datei auch ist.
Sonst kannst du noch mal schauen, ob z.b. die Idle auch wirklich ausgeführt wird. Was Passiert wenn du bei " AdDraw := TAdDraw.Create(self);" nicht self schreibst sondern einfach NIL ?
Dann hätte es eine Fehler Meldung gegeben shokwave vom Compiler. Wenn die Unit nicht im Delphi-Modus ist. und von einer Fehler Meldung wird auch nicht gesprochen ".... Nur leider wird mir nichts angezeigt!"
@Pluto Die Log-Dateien werd ich mir gleich anschauen! Auf die Idee mit dem Pfad kam ich bereits .... leiders geht auch das nicht. OnIdle wird nicht aufgerufen (mit showmessage() versucht)
@shokwave Die Unit ist im delphi-Modus was das @ überflüssig macht.
OnIdle wird nicht aufgerufen (mit showmessage() versucht)
Dann muss geklärt werden warum nicht. Was passiert wenn du ein Timer verwendest ? Einfach nur zum Testen. Kann mir zwar nicht vorstellen das es geht, aber wer weiß das schon.