![]() |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Liste der Anhänge anzeigen (Anzahl: 2)
Hallo,
ich habe mal mit meinem neuen Schriftartensystem eine neue Demo gebastelt, die einen Text darstellt, der ähnlich wie im Vorspan der "Krieg der Sterne" Filme nach hinten scrollt. Relevanter Code:
Delphi-Quellcode:
//Init
AdFontFactory := TAdFontFactory.Create(AdDraw1.AdAppl); AdFont := AdFontFactory.GenerateFont('Arial', 40, []); AdFontFactory.Free; AdDraw1.AdAppl.Setup3DScene( ClientWidth, ClientHeight, AdVector3(ClientWidth div 2, ClientHeight div 2, -1000), AdVector3(ClientWidth div 2, ClientHeight, 0), AdVector3(0,-1,0)); StrList := TStringList.Create; StrList.LoadFromFile(dir+'engine-wars.txt'); s := strlist.GetText; StrList.Free; //Rendering with TAdSimpleTypeSetter(AdFont.TypeSetter) do begin DrawMode := [dtWordWrap, dtTop, dtCenter, dtDoLineFeeds]; end; c := c + AdPerCounter.TimeGap * 0.05; mat1 := AdMatrix_Translate(0, ClientHeight, c); mat2 := AdMatrix_RotationX(-Pi/2); mat1 := AdMatrix_Multiply(mat2,mat1); AdFont.Color := Ad_ARGB(255,230,200,0); AdFont.TransformationMatrix := mat1; AdFont.TextOut(AdRect(ClientWidth div 2 - 400, 0, ClientWidth div 2 + 400, ClientHeight), s); |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
cool !! ;)
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
....aaaber.... wo (in welcher Unit) ist TAdFontFactory?
Ich hab das nirgends gefunden :shock: *auch so Text machen will* :) |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Liste der Anhänge anzeigen (Anzahl: 1)
Öhm...
Das ist nur so ein Preview auf die neue Version... Ich will es noch nicht ins CVS hochladen, weil dadurch einiges kaputtgeht. Ich hänge die Units des Fontsystems mal an... PS: Du darfst auf keinen Fall vergessen, AdStandardFontGenerator unter uses einzubinden. |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
achso, na dann Danke!
Werd ich mal bissel rumexperimentieren ;) |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Hallo
wollte für mein Problem jetzt keinen eigenen Thread aufmachen, deshalb frage ich hier. ich bin gerade beím Andorra 2D Tutorial 1 und hänge beim initialisieren, er zeigt mir dauernd an, dass auf den Prozess nicht zugegriffen werden kann, obwohl ich den "scr" Ordner in den "lib" Ordner kopiert habe (arbeite übrigens mit 2005 Personal). habe dann noch ein bischen weiter gelesen und der hat gesagt, dass ich die Biblithek neu compilieren soll, doch wo soll ich die Bibliothek neu compiliern. Danke im Voraus |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Hallo,
kannst du gerade nochmal genauer beschreiben, wo steht, dass auf den "Prozess nicht zugegriffen werden kann" (du kannst ja auch einen Screenshot machen). Bei den Bibliotheken handelt es sich um die Programme "AndorraOGL.bdsproj" und "AndorraDX93D.bdsproj" im Ordner "src\dll\". Um diese zu kompilieren, musst du jedoch auch die Headerdateien, die sich in den Prerequisiten befinden zu dem Ordner "lib" hinzufügen. Ich denke jedoch nicht, das das Problem an den Bibliotheken liegt. |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Liste der Anhänge anzeigen (Anzahl: 1)
hier hast du das Bild
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Funktionieren denn die Demos (z.B. die Demo "Simple") bei dir, bzw. Funktionieren diese, wenn du sie Versucht selbst zu kompilieren? Wenn nicht, dann musst die DLLs vermutlich doch selbst kompilieren (wie oben beschrieben). Wie sieht dein aktueller SourceCode aus? Hast du auch nicht vergessen die DLLs in das Verzeichnis deines Programmes zu kopieren?
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Delphi-Quellcode:
so sieht der Source code aus
unit xy;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, AdDraws, AdClasses; type TForm1 = class(TForm) procedure FormDestroy(Sender: TObject); procedure FormCreate(Sender: TObject); private { Private-Deklarationen } public AdDraw1:TAdDraw;{ Public-Deklarationen } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin AdDraw1 := TAdDraw.Create(self); AdDraw1.DllName := 'AndorraDX93D.dll'; if AdDraw1.Initialize then begin // Hier gehts gleich weiter end else begin ShowMessage('Error while initializing Andorra 2D. Try to use another display'+ 'mode or use another video adapter.'); halt; //<-- Schließt die komplette Anwendung end; end; procedure TForm1.FormDestroy(Sender: TObject); begin AdDraw1.Free; end; end. die demos funktionieren tadellos |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
moin, da bleibt eigentlich nur die Schlussfolgerung, dass die DLLs nicht gefunden werden. Sie muss im gleichen Verzeichnis wie die Exe sein. Die DirectX-Variante benötigt noch die d3dx9_xx.dll.
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
wo bekomme ich diese Datei her, im Andorra Ordner den ich mir downgeloaded habe, ist keine so genannte Datei vorhanden
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Die findet man unter Prereq in DirectX, ansonsten ist die im MS-DirectX-SDK, nur das extra deswegen downzuladen, wäre übertrieben :)
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
ich habe aber nur eine d3dx9_31.dll Datei, wenn das die ist, was soll ich mit der machen?
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
das ist die richtige, ich hatte nur "xx" geschrieben, weil es auch manchmal schon die "33" gibt.
Die muss zusammen mit der Andorra-DLL in das Verzeichnis deiner exe-Datei. |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
??? ich stehe auf der Leitung
ich habe jetzt die Datei in den Order gegeben wo auch die "AndorraDX93D" Datei ist, es funktioniert aber immer noch nicht :( |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
und ist in dem Ordner auch deine Exe? Wenn ja, dann weiß ich auch nicht weiter....erstmal.
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
welche exe, soll ich die AndorraDX93D compilieren
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
die exe von deinem Project, die muss in dem gleichen Verzeichnis sein wie die beiden DLLs.
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
geht zwar immer noch nicht, aber werde mich später damit spielen
danke |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Ich hab das zwar schonmal hier irgendwo geschrieben, aber:
Die d3dx9_xx.dlls werden doch vom DirectX Web Installer (dxwebsetup) in der jeweils aktuellsten Version installiert und liegen dann irgendwo im Windows-DLL-Suchpfad und sollten daher von überall aus zugreifbar sein. Einfach einmal ausführen, es werden nur die neuen Dateien heruntergeladen. |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Nicht jeder hat den DirectX-Webinstaller, und er ist auch gar nicht norwendig. Er hat doch gar nichts mit der Andorra2D-Engine zu tun. Und diese DLL wird doch mit Andorra mitgeliefert. Warum sein Systemverzeichnis mit allem Möglichen zumüllen?
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
najawie dem auch sei, hab es bis jetzt immer noch nicht zusammengebracht.
vielleicht kann mir bitte noch irgendwer einen Tipp geben. :(:(:(:(:(:( |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Liste der Anhänge anzeigen (Anzahl: 1)
Im Anhang ein Project, dass exakt deinen Code enthält und funktioniert. Ich weiß nicht was bei dir schiefläuft.
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Hallo
danke, aber er schreit dann bei
Delphi-Quellcode:
"[Fehler] testAndorra.dpr(12): E2003 Undefinierter Bezeichner: 'MainFormOnTaskbar'"
Application.MainFormOnTaskbar := True;
ich werde es einmal an meinem Standrechner probieren, aber danke für deine Bemühung. :gruebel: :gruebel: :pale: |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Diesen Befehl kennt nur das neue Delphi. Den kannst du einfach löschen.
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
ach, das liegt an meinem Delphi 2007, in der dpr-Datei die Zeile einfach löschen, die OntaskBar setzt.
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Hallo,
ich habe an mein Font-Interface ist jetzt so weit eigentlich fertig (Nein, ich habe es noch nicht hoch geladen). Um einen Text auszugeben, ist jetzt eigentlich nur folgender Code notwendig:
Delphi-Quellcode:
Die Klasse "TAdFontFactory" (hier das "Fonts" Objekt), kümmert sich automatisch darum, das der Font nicht ständig neu generiert wird, sonder ein bestehender Font verwendet wird.
with AdDraw.Fonts.GenerateFont('Verdana',36,[]) do
begin with TypeSetter as TAdSimpleTypeSetter do begin //Den Text zentriert ausgeben DrawMode := [dtCenter, dtMiddle]; end; Color := Ad_ARGB(128,0,0,255); TextOut(AdRect(0,0,ClientWidth,ClientHeight),s); end; Ich hoffe, das ist so einfach genug :wink: |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
In einem Anflug von Kreativität habe ich die
![]() |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Außer das Doppelpfeile auf den blauen Leisten sind hab ich keinen unterschied gefunden. :shock:
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Wie wäre es mit STRG-R? ;-)
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Schlicht, aber schick ;)
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Hm das mit strg+r wusst ich nicht.
Das Design is eindeutig besser. |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Tach Igel.
Ich hab mal wieder ein Problem. Ich wolte einen Editor für die Intro-Bilder in meinem Spiel basteln. Da soll es eine Combobox geben (bzw. gibt es) und mit deren Hilfe legt man die Texturen fest, die als Intro angezeigt werden sollen. Soweit, sogut. Bisher hat das auch funktioniert. Allerdings ist mit einem Mal die property Count der ImageList immer 0. Ich hab das jetzt schon millionenmal durchdebuggt. Die ImageListe wird problemlos geladen, aber Count ist und bleibt Null. Ich kann mir das nicht mehr erklären. Dass es vorher immer funktioniert hat, zeigt mir, dass der Fehler bei mir liegt, meine debugging-Bemühungen zeigen, dass die Datei in die ImageListe geladen wird, also rein theorethisch alles da sein müsste. Vielleicht hat jemand von Euch noch eine Idee. Meinen Code hänge ich jetzt mal nicht an, denn dass die Liste wirklich geladen wird, zeigt ja, dass ich sogesehen keinen Fehler gemacht habe. (Lasse mich aber gerne eines Besseren belehren) ein verzweifelter Bääääär |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Hm...
TAdImageList ist ja von TList abgeleitet - wenn die Bilder also tatsächlich geladen werden und auch zur Liste hinzugefügt werden, dann müsste Count auch steigen. Setze doch mal einen Haltepunkt auf die "Notify"-Methode von TAdImageList. Kommt es wirklich da an, sobald du ein Element hinzufügst? |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
hm. Beim Laden aus einer Datei (TAdImageList.LoadFromFile) wird ja die Datei in einen Stream geladen. Wenn ich beim Debuggen mit dem Cursor über den Bezeichner dazu fahre (der heißt "ms") dann steht im Hint: "ms = ()". Ist das normal so?
Ich hab nochal nachgeschaut: Es wird wirklich geadded. Ich bin beim Debuggen noch mal durch und hab sämtliche werte überprüft - "Add(temp);" wird auch ausgeführt. Ich kann mir nicht vorstellen, dass der Fehler da irgendwo liegt. So. Also doch noch etwas Code: Wenn man im LebeledEdit4 den Text ändert, wird die entsprechende Texturendatei geladen:
Delphi-Quellcode:
SetTextureFile:
if FileExists(LabeledEdit4.Text) then
begin GP.IntroEngine.TextureFile := LabeledEdit4.Text; // Hier wird SetTextureFile aufgerufen. for i:=0 to GP.ImageList.Count-1 do // Hier wird abgebrochen, denn Count ist Null begin Combobox1.Items.Add(GP.ImageList.Items[i].Name); end; end;
Delphi-Quellcode:
Da kann doch eigentlich gar nichts falsch sein...
procedure TIntroEngine.SetTextureFile(const aFile:String);
begin if FileExists(aFile) then FTextureList.LoadFromFile(aFile); //Laden der Texturen FTextureFile := aFile; // Speichern des Dateinamens der TextureListe end; Ich überlege grade ernsthaft, diese Diskussion in eine extra Thema zu verlagern. Ich dachte nur, hier ist es vielleicht richtig, weil es evtl. die Engine selbst betreffen könnte... Danke für die schnelle Hilfe, Bääääär // Edit: OK, Fehler gefunden. Die IntroEngine selbst hat nochmal eine eigene TextureList, ich greife aber in der Abfrage auf eine andere Zurück. Dämlich... Bleibt noch die Frage, warum es vorher geklappt hat... An dem Code habe ich nix verändert, deswegen habe ich dort auch nicht so genau hingeschaut... |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Nun, da meine Intros funktionieren:
Hast du ein möglichst großformatiges Bild des Andorra Logos? :stupid: so 800 x 600 oder größer? :-D Wär Cool, wenn das einen schwarzen Hintergrund hätte, sieht sonst sicher doof aus, wenn man die Kanten sieht... :P Bääääär |
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Liste der Anhänge anzeigen (Anzahl: 4)
Ich hab mal ein kleines Redesign des Logos gemacht, vielleicht gefällts ja jemandem (oder jemand hat Vorschläge) :wink:
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Zitat:
|
Re: Andorra 2D [Ver. 0.20 ALPHA 2, 05.10.07]
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Schau dir mal an wie bei Spielen das "EAX", "NVidia" etc. dargestellt wird. Einfach irgendwo in der Mitte des Schirms. Und selbst wenn kannst du einfach die PSD (oder die 1024er Version falls du kein Photoshop hast) und sie entsprechend verkleinern (zum Beispiel in GIMP oder Photoshop). Sollte keine Schwierigkeit darstellen. Dazu ist das Logo auch schon Alphatransparent. Da ist es egal wie du den Hintergrund willst. Es ist an den "korrekten" Stellen automatisch durchsichtig. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:38 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