![]() |
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
Ich würde sagen, das liegt an den clootie headern... Demo's die mit clootie erzeugt wurden, laufen bei mir auch nicht. Die Header von ![]() Siehe ![]() Grüsse Frank :coder: |
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
Bei den meisten wer es jetzt gerade anders herum... Im Notfall mach ich am Ende zwei Versionen meiner DLL. Mal sehen. Zitat:
Zitat:
![]() Danke für die Rückmeldung, Igel457 |
Re: Andorra 2D - The Next Generation 2D Engine
So,
ich habe mal eine neue Version hochgeladen. Die größte Neuerung ist das neue Partikelsystem. Als Demo liegt ein "Partikeleditor" bei. Wäre schön, wenn ihr den mal ausprobiert und mir weitere Wünsche und/oder Fehler nennt. Weiteres könnt ihr aus dem ersten Beitrag entnehmen. Viel Spaß, Igel457 |
Re: Andorra 2D - The Next Generation 2D Engine
Hoffe doch sie ist 100% vorgängerkompatibel?^^
|
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
|
Re: Andorra 2D - The Next Generation 2D Engine
Ist es, und gleich werd ich es einbauen.
€dit: Und wenn du dann noch mit einer Dokumentation hinterher kommen würdest, wäre das richtig gut :mrgreen: btw: "[Pascal Hint] AdDraws.pas(478): H2164 Variable 'ARect' is declared but never used in 'TAdDraw.Initialize'" Für die nächste version dann :P €dit2: Nein, es nicht abwärtskompatibel:
Code:
Noch €dit: und zwar beim Setzen der Umgebungshelligkeit
---------------------------
Debugger Fault Notification --------------------------- Project C:\*tutnichtszursache*\andorratest.exe faulted with message: 'Zugriffsverletzung bei 0x0033006c: Schreiben von Adresse 0x00000000'. Process Stopped. Use Step or Run to continue. --------------------------- OK --------------------------- wir nähern uns langsam dem €dit-rekord: Doch, es ist kompatibel, ich hatte beim Kopieren der neuen dateien wohl irgendwie einen ganzen Ordner überkopiert. So geht es. |
Re: Andorra 2D - The Next Generation 2D Engine
Liste der Anhänge anzeigen (Anzahl: 1)
Es geht. Allerdings hab ich noch eine Frage. Ich füge mit
Delphi-Quellcode:
Ein Bild. Das funktioniert auch wunderbar, es wird offenbar geladen.Allerdings bekomme ich nach dem zuweisen in der Draw-Funktion, wenn das Sprite also angezeigt werden soll, den Fehler "Listindex out of Bounds(-1)". Das ist bisher nur bei diesem (siehe Anhang) Bild geschehen, bei anderen geht es. Woran kann das liegen? :gruebel:
with Form11.AdPictureCollection.Add('playership') do
begin Texture.LoadFromFile('test.bmp', false, clWhite); Detail := 16; end; Image:=Form11.AdPictureCollection.Find('playership'); €dit: Hatte das Restoren der Collection vergessen :wall: |
Re: Andorra 2D - The Next Generation 2D Engine
Puh, bin ich froh, dass die Fehler nicht an mir liegen.
Gerade eben muss ich noch an einem Projekt für die Schule "PHP'N", deshalb werde ich erst nächste Woche wieder Zeit finden an dem Projekt weiter zu schreiben. Und dann ist erstmal die Dokumentation dran. Danke fürs Testen, Igel457 |
Re: Andorra 2D - The Next Generation 2D Engine
So, seit dem ich mich hier das letzte mal gemeldet habe, ist fast ein Monat vergangen.
Doch in dieser Zeit habe ich praktisch die gesamte Engine von innen heraus ein wenig umgekrempelt. Äußerlich ist eigentlich kaum etwas davon zu merken, außer das man ein paar Befehle anders aufrufen muss und dass es an einigen Stellen viel schneller läuft und an anderen ein wenig langsamer. Außerdem habe ich ein paar "einfache" Demos gemacht, die den Aufbau besser verdeutlichen. Dann habe ich mal noch das gesamte Interface (nach)komentiert und mit PasDoc zu einer ![]() Nivosta schreibt zurzeit an einem OpenGL Plugin under versucht das ganze unter Kylix und Lazarus zum laufen zu bekommen. Danke nochmal an dieser Stelle. In ein paar Wochen wird es auch die (von mir) heiß erwartete Version 0.1 BETA geben und ich baue dann mal mein Spiel ![]() Bis dahin schreibe ich mal ein paar Tutorials. Die neuste der Version der Engine gibts aber schonmal vorab im ![]() Bei Fragen stehe ich jederzeit (7x24h) :-) zur Verfügung, Feedback ist dringlichst erwünscht! Viel Spaß, Igel457 [edit]Noch ein paar Fehler behoben.[/edit] |
Re: Andorra 2D - The Next Generation 2D Engine
Hi,
Also ich glaube irgendwas stimmt mit den Lichtern nicht... Oder ich mache was falsch...
Delphi-Quellcode:
Und wenn ich mein Programm dann beende bekomme ich nochmal eine Zugriffsverletzung bei Adresse 000000.
// Meine Klasse
TTestSprite = class(TImageSpriteEx) public Light:TLightSprite; constructor Create(AParent:TSprite);override; end; var Test: TTestSprite; // Initialisieren von Andorra und erstellen meines Test-Sprites procedure TMainForm.FormCreate(Sender: TObject); begin FPS := TPerformanceCounter.Create; Surface := TAdDraw.Create(Self); try Surface.DllName := 'AndorraDX93D.dll'; except FatalError('AndorraDX93D.dll konnte nicht gefunden oder geladen werden!'); end; if not Surface.Initialize then FatalError('Initialation failed!') else Application.OnIdle := Idle; Engine := TSpriteEngine.Create(nil); Test := TTestSprite.Create(Engine); end; constructor TTestSprite.Create(AParent: TSprite); begin inherited Create(AParent); Light := TLightSprite.Create(Engine); // AV end; {...} {->AdDraws.pas} // Intern geschieht beim Createn die AV genau hier: procedure TAdDraw.RegisterNotifyEvent(AProc: TSurfaceEvent); begin FSurfaceEventList.Add(AProc); //<--- end; PS: Hat sich erledigt: Ich hab
Delphi-Quellcode:
vergessen :oops:
Engine.Surface := Surface;
Gruß Neutral General |
Re: Andorra 2D - The Next Generation 2D Engine
Hallo,
ich bin ja immer wieder erleichetert, dass die Fehler nicht direkt an mir liegen. Aber damit auch solche Fehler wengier oft vorkommen schreibe ich gerade an einigen Tutorialen... Das erste gibt es schon mal ![]() ![]() Wenn ihr vielleicht Lust haben solltet ein Tutorial zu übersetzen dann könnt ihr euch einfach bei mir melden. |
Re: Andorra 2D - The Next Generation 2D Engine
Hallo,
habe diese Woche beschlossen ein altes DelphiX-Projekt wieder neu aufleben zu lassen. Da kommt mir deine Engine gerade recht, da es sich um ein 2D-Game mit Sicht von oben handelt. Werde also die nächste Zeit versuchen mich einzuarbeiten. Warte deshalb auch gespannt auf dein Tutorial zur SpriteEngine. Kleiner Kritikpunkt von mir: Die PNGImage-Libary könnte ruhig bereits im Andorra-Paket dabei sein. Wäre etwas "komfortabler". |
Re: Andorra 2D - The Next Generation 2D Engine
Danke für deine Antwort und das Interesse.
Zitat:
Zitat:
Und noch eine kleine Bitte von mir: Wenn ihr einen Bug findet, meldet euch bei mir über ICQ, schreibt euch in den Bug Tracker bei SourceForge oder schreibt hier eine Antwort. Ich versuche mich sofort darum zu kümmern! |
Re: Andorra 2D - The Next Generation 2D Engine
sag mal ist das projekt auch für linux geeignet ?
|
Re: Andorra 2D - The Next Generation 2D Engine
Nivosta möchte sich darum kümmern. Der schreibt auch gerade das OpenGL plugin.
Momentan compiliert Andorra 2D nur unter Delphi (auch da das OpenGL Plugin noch nicht existiert). Aber solange du keine Windows spezifschen Units verwendest, sollten Programme, die du jetzt mit Andorra 2D schreibst bald auch unter Linux und anderen Platformen laufen. |
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
Hier auch schon meine erste Frage: Möchte meine Spielfläche in 2 oder 3 Zoomstufen darstellen, aber nur 1 Textur verwenden. Gibt es eine Möglichkeit einen Zoom-Faktor für zu benutzen? |
Re: Andorra 2D - The Next Generation 2D Engine
Also. Ich habe mal eine neue Version hoch geladen. Die Header und PNGDelphi sind noch nicht drin. Dafür aber eine neue Demo. Und zwar ist es diesesmal eine einfache Breakout-Version, in der ich das neue "TParticleSprite" verwende.
Ich hoffe, ihr schaut es euch mal an. @framik: Zitat:
Delphi-Quellcode:
Nun musst du nur noch von der SpriteEngine (falls du diese verwendest) das SurfaceRect verändern (dazu musst du in der aktuellen Version noch FSurfaceRect aus dem private Teil in den protected Teil der deklaration verschieben. In den nächsten Versionn wird dies dann schon so sein). Am besten leitest du einfach eine Klasse von der SpriteEngine ab, die dies alles für dich übernimmt.
AdDraw.AdAppl.Setup2DScene(DeineBreite*ZoomFaktor,DeineHöhe*ZoomFaktor);
|
Re: Andorra 2D - The Next Generation 2D Engine
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab' mal eine Frage:
Die Demos Bounce und Breakout ruckeln bei mir. Es läuft ein/zwei Sekunden ruckelfrei und dann wird für eine Sekunde alles nur langsam gezeichnet. Das wiederholt sich dann immer so... Ist das nur bei mir so? Wenn ja: Soll ich mal versuchen, ein Screen-Video davon zu machen? Chris EDIT: Jetzt ist's noch schlimmer. Hab's mal abgefilmt und in den Anhang gepackt... |
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
Außerdem würde mich mal die Konfiguration deiner PC Hardware interessieren. In meiner Familie läuft es auf jedem (neueren, sprich alter kleiner als 5 Jahre) PC und auch bei einem Freund von mir lief es ohne Probleme und selbst unter Linux mit Wine. Zu deinem Video: Die kann ich leider nicht abspielen, mit Fehlt irgendwie der Codec: Weder Winamp, noch der WMP 11 oder PowerDVD konnten das ganze abspielen. Was für einen Codec brauche ich da? Danke für deine Rückmeldung, igel457 |
Re: Andorra 2D - The Next Generation 2D Engine
Hi!
Danke für die Antwort! Also, die Bounce-Demo ruckelt bei mir auch extrem, aber nicht, als wäre der PC zu schlecht, sondern irgendwie als wäre meine Grafikkarte nicht kompatibel oder so... Im Fullscreen-Modus bekomme ich nur folgende Fehlermeldung:
Code:
auf schwarzem Hintergrund.
---------------------------
Andorra 2D Bounce Demo --------------------------- Zugriffsverletzung bei Adresse 00B02C29 in Modul 'AndorraDX93D.dll'. Lesen von Adresse 00000000. --------------------------- OK --------------------------- Mein Testrechner ist ein Laptop mit 1,8 GHz, 1024 MB RAM, 128 MB ATI Radeon xPress mit Windows XP Professional... Eigentlich sollte der nicht das Problem haben (selbst Vampire:Bloodlines läuft ruckelfrei)... Das Video hab' ich mit Camtasia gemacht. Ich weiß nicht, welcher Codec dafür nötig ist. Ich versuch' aber mal, das irgendwie umzuwandeln... :stupid: Chris |
Re: Andorra 2D - The Next Generation 2D Engine
So, ich hab' das Video mal umgewandelt. Du kannst es dir hier anschauen:
![]() Chris EDIT: Sorry, ich wollte editieren und nicht neu posten... :cry: EDIT2: Nachdem ich es selbst kompiliert habe und dann fullscreen=1 gesetzt habe, funktioniert es... Leider aber nur im fullscreen, sonst ruckelt es immer noch so merkwürdig... |
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
Betreffend Bounce: 1. Bei mir ruckelt es auch. Aber nur wenn ein teil des Fensters außerhalb des Desktop geht oder wenn ich Bounce im HIntergund laufen lasse. Im zweiten Fall ruckelt dann halt die Maus. :?: |
Re: Andorra 2D - The Next Generation 2D Engine
Das es ruckelt wenn ich mit der Maus darüber gehe und wenn das Fenster im Hintergrund ist habe ich auch festgestellt. Allgemein scheint das immer dann zu sein, wenn irgendwelche dinge über das Fenster gezeichnet werden. Zum einen scheint dies am DirectX und zum anderen am OnIdle zu liegen. Ich schaue mal, was ich machen kann.
@CK_CK Auf deinem PC scheint das ganz wirklich Probleme zu haben. Komisch. (Dass die Bälle in den Wänden hängen ist in dem Sinn kein Bug, das passiert zwangsläufig wenn die Performance schlecht ist. Das passiert auch ab und zu mal bei mir, dann kann man aber die 'r' Taste drücken, dann wird das ganze resetet.) Ich darf euch auch noch Stolz mitteilen, dass die SpriteEngine (besonders die Kollisionen) nun viel schneller läuft. Im Optimalfall bis zu 400mal (!) schneller. Danke an alle für die Mühe, igel457 [edit]Fehler entfernt[/edit] |
Re: Andorra 2D - The Next Generation 2D Engine
Hi!
Also, ich habe das Problem gelöst, indem ich den Code aus OnIdle in ![]() Dadurch funktioniert das ganze bei mir ruckelfrei und mit SEHR geringer CPU-Auslastung (das Hauptproblem des OnIdle-Events). Vielleicht hast du ja Lust, dir den mal anzugucken. Irgenwie scheint sich keiner dafür zu interessieren :cry: Und nochwas: Ich warte schon sehnsüchtig auf ein Partikelsystem-Tutorial... ;) Viele Grüße, Chris |
Re: Andorra 2D - The Next Generation 2D Engine
Läuft Super ohne Ruckeln ohne Fehler
Da bekommt man glei Lust selber n Spiel mit zu basteln Gute Arbeit Danke |
Re: Andorra 2D - The Next Generation 2D Engine
Ja, Hallo erstmal. (soll eine Anspielung sein)
Erstmal Danke für die Rückmeldung. @CK_CK: Ich schaue mir mal deinen Timer an. Wenn du nichts dagegen hast und meine Test "positiv" verlaufen kann ich ihn auch direkt in Andorra einbauen. Ich schreibe am (langen) Wochenende an den Tutorials weiter - versprochen. @Gehstock: Bitte. Ich habe mal eine neue Version hochgeladen. Neu daran sind folgende Sachen:
Ich hoffe ihr könnt etwas mit meinen Veränderungen anfangen, Igel457 PS: Beinahe hätte ich es Vergessen: Ich habe es mir gründlich überlegt und entschieden, dass ich das PNGDelphi nicht standardmäßig mitliefere: Es ist nämlich ziemlich "groß" (gepackt 260kB) und erstreckt sich über fast 20 Dateien. Ladet es auch einfach ![]() |
Re: Andorra 2D - The Next Generation 2D Engine
Danke für die Font-Klasse. Daruaf habe ich schon gewartet.
Betreff PNGLib: okay, Aufgrund der Größe verstehe ich die Entscheidung. |
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
(Kannst ja im Code vermerken, dass er von mir ist...) :stupid: Schönen Abend noch, Chris EDIT: NOCHMAL EINEN RIESENLOB FÜR DIE ENGINE! (Wollte ich unbedingt noch loswerden :mrgreen:) |
Re: Andorra 2D - The Next Generation 2D Engine
Hallo,
ertmal danke für eure Antworten. Ich bin gerade dabei mein in DelphiX geschriebenes Spiel "CrashPoint" nach Andorra 2D zu portieren. Dein Großteil habe ich eigentlich schon. Nun läuft das ganze schonmal je nach Anzahl von Kisten und Größe der Landschaft zwischen 300 und 800 FPS schnell, das sind ungefähr doppelt so viele FPS wie vorher. Außerdem habe ich die Engine soweit angepasst, dass sie unter Lazarus kompiliert. Nun fehlt nur noch das OpenGl Plugin. Ich suche momentan noch nach einem Cross-Plattform Multimedia Timer. Gefunden habe ich allerdings noch keinen. Igel457 PS: Ich habe ein weiteres Tutorial geschrieben, da der Shell Server von SF aber bis 21. Feb. nicht geht, wird es dieses erst dann geben. |
Re: Andorra 2D - The Next Generation 2D Engine
Könntest du (z.b. im ersten Post) auf deine DP-Tutorial-Threats verlinken?
Dann würde ma sie besser finden |
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
Die Tutorials sind nun verlinkt. |
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
|
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
Bei mir gibt es einen Absturz in AdDraws bei
Delphi-Quellcode:
Da AShadow bei mir false ist, wird bmp2 natürlich nicht erstellt danach aber trotzdem zugegriffen :-(if AShadow then begin bmp2 := TBitmap.Create; bmp2.Assign(bmp); bmp2.Canvas.Brush.Assign(Brush); bmp2.Canvas.Font.Assign(Font); end; bmp2.Canvas.Font.Color := RGB(AShadowAlpha,AShadowAlpha,AShadowAlpha); //<-- hier kommt der Absturz EDIT: Zusatzfrage, was gebe ich an wenn ich fsBold nicht nutzen möchte, also normale Schriftart? |
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
Delphi-Quellcode:
Der Zweite Parameter ist ein Set.. Also ginge mit Sicherheit auch:
AFont.CreateFont('Arial',[],12);
Delphi-Quellcode:
;)
AFont.CreateFont('Arial',[fsBold,fsStrikeOut,fsItalic],12);
Gruß Neutral General |
Re: Andorra 2D - The Next Generation 2D Engine
:oops:
Ja, den Fehler kannte ich und ich habe ihn auch schon und behoben. Schau mal hier... ![]() Ersetzte einfach mal die Datein. (Gerade war ich der 888 Besucher auf meiner Website :-)) Igel457 |
Re: Andorra 2D - The Next Generation 2D Engine
Zitat:
Kleine Verbessrungsvorschlag hab ich aber doch noch für TAdFont. Das Feld FParent in TAdFont sollte auch eine public Property Parent haben, damit man vor der Ausgabe mit Textout noch das Ziel-AdDraw ändern kann. In meinem Anwendungsfall ist zum Zeitpunkt dr Erstellung von TAdFont die AdDraw nämlich noch nicht festgelegt. :cry: EDIT: Argh...TAdFont.Create(nil) geht ja gar nicht...wegen der FTexture...da muss ich mir wohl was anderes einfallen lassen |
Re: Andorra 2D - The Next Generation 2D Engine
Liste der Anhänge anzeigen (Anzahl: 1)
Es ist leider nicht möglich das ganze auf mehrere AdDraws zu verteilen. AdDraw repräsentiert intern ein eigenes IDirect3DDevice9 und dem kann nur eine Textur gehören. Die Angabe des AdDraw bei der "Draw" Routine ist (momentan) nur aus kompatibilitätszwecken zu DelphiX. Später wird es aber so genannte Surfaces geben, auf die dann gezeichnet werden kann.
Im Anhang ist mal noch ein kleines Bildchen von meinem aktuellen Teilprojekt und zwar Newton für Andorra 2D. |
Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.15]
Hallo.
Jetzt gibt es Version 0.15 von Andorra 2D zum Download. Es stehen fünf verschiedene Packages zur Auswahl. Eine Aufzählung gibt es ![]() Danke an framik, der eine praktische Unit (AdApps.pas) geschrieben hat, die die Initialisierung von Andorra 2D auf wenige Zeilen verkürzt. Viel Spaß damit, Igel457 |
Re: Andorra 2D - The Next Generation 2D Engine [Ver. 0.15]
ich habe heute versucht unter Lazarus(unter ubuntu) es zu komplieren. bzw. ich habe die units
eingebunden AdDraws, AdClasses und er meckert in der AdDraws unit das er die unit Windows nicht findet ! edit: ich habe jetzt mal die windows unit überall entfernt leider kein erfolgt. nun findet er die LoadLibrary funktion nicht mehr ! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:09 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