![]() |
Andorra 2D - Map Editor V 1.0
Liste der Anhänge anzeigen (Anzahl: 2)
Andorra 2D - Map Editor V 1.0
Übersicht: 1. Prolog 2. Anleitungen 2.1. Wie erstelle ich eine Map? 2.2. Wie binde ich eine Map in mein Andorra 2D Spiel ein? 3. Changelog 1. Prolog Hallo! Ich weiß, dass viele Spiele maps benötigen. Und ich weiß, dass User gerne einen Mapeditor haben. Also hab ich mir mal ein bisschen Mühe gemacht, einen geschrieben, und diesen Beitrag hier auch :mrgreen:. Dieser MapEditor sollte mit allen Andorra 2D Spielen kompatibel sein, da man selbst den Editor bearbeiten kann, und natürlich kann man auch auf seine eigene Weise Maps einbinden. Weiters kann der User alle Sprites/Tilesets nutzen, solange sie in einer .ail(AdImageList) gespeichert sind. Anregungen, Kritik und co. ausdrücklich erwünscht. 2. Anleitungen Zum Benutzen des Editors... Kopieren Sie die AdMapEditor.exe und den resources Ordner ins Verzeichnis des Spiels 2.1. Wie erstelle ich eine Map? Man öffnet den Editor, soviel traue ich euch allen zu ;). Hintergründe und Einfügen von vorhandenen Sprites Einen Hintergrund fügt man am besten Weiterhin über das Spiel selbst als TBackgroundSprite ein. Die Eigenschaft z kann hier ruhig -10000 betragen. Alle anderen Sprites kann man im Editor setzen, oder erst zur Laufzeit wie gewohnt erzeugen. Sprites setzt man folgendermaßen auf die Map: - Man öffnet eine vorhandene map, oder klickt oben auf "Neue Map". - Man klickt bei der 2. Listbox auf den Sprite dem man einfügen möchte. - Um die Eigenschaft z zu ändern, Steuerung gedrückt halten und das Mausrad drehen. - Um die Eigenschaft AnimPos zu ändern, keine Taste gedrückt halten und das Mausrad drehen. - Um ein Sprite zu setzten, mit der linken Maustaste irgendwo hinklicken, wo man es hinhaben will. - Um ein gesetztes Sprite zu versetzen, oder eine andere Eigenschaft zu verändern, wieder anklicken. - Um ein Sprite zu verwerfen, anklicken(linke Maustaste) und dann rechte Maustaste drücken. Eigene Sprites Um Sprites aus anderen ImageLists zu verwenden drückt man oben auf "AdImageList laden" und wählt eine aus. Der Rest funktioniert gleich wie oben. 2.2. Wie binde ich eine Map in mein Andorra 2D Spiel ein? Dafür gibt es verschiedene Möglichkeiten, die jeder für sich selbst rausfinden kann. Ich benutze folgenden Code:
Delphi-Quellcode:
Und dann zum Aufrufen der Map:
procedure LoadMap(MapPath: String);
var OpenFile: TStringList; I, AX: Integer; begin OpenFile := TStringList.Create; OpenFile.LoadFromFile(MapPath); if OpenFile.Count > 0 then begin for I := 0 to ((OpenFile.Count ) div 6)- 1 do begin AX := StrToInt(OpenFile.Strings[i*6+3+2]); with TImageSprite.Create(Form1.AdSpriteEngine) do begin X := StrToFloat(OpenFile.Strings[i*6+1+2]); Y := StrToFloat(OpenFile.Strings[i*6+2+2]); case AX of 1: begin Image:= Form1.TerrImgList.Find(OpenFile.Strings[i*6+2]); end; 2: begin Image:= Form1.AdImageList.Find(OpenFile.Strings[i*6+2]); end; end; AnimActive := false; AnimPos := StrToInt(OpenFile.Strings[i*6+4+2]); z := StrToInt(OpenFile.Strings[i*6+5+2]); end; end; end; OpenFile.Free; end;
Delphi-Quellcode:
Dafür muss man die Terrain.ail (im resources Verzeichnis des Editors) in den Ordner kopiert haben, in dem auch die anderen ImageLists liegen.
LoadMap(maps/test.admap);
3. Changelog
Code:
V 1.0
Der Editor geht online. |
Re: Andorra 2D - Map Editor V 1.0
Hallo,
soweit macht dein Programm einen ganz guten Eindruck. Es wäre jedoch sehr hilfreich, wenn die Objekte an einem einstellbaren Raster einrasten würden. PS: Achso, außerdem sollten sowohl der Editor als auch ein Modul zum Laden der Karten auf einer gemeinsamen und einfach wiederverwendbaren Klassenstruktur basieren - das würde es einfacher machen Karten wieder zu verwenden. |
Re: Andorra 2D - Map Editor V 1.0
Vorschläge:
Code:
GUI
- Menü statt Button-Bar - hübschere, übersichtlichere Liste - eventuell Treeview (Ordnerähnliche Struktur, so ähnlich wie die Symbolbibliothek bei Adobe Flash) - ein Bild sagt mehr als tausend Worte - Vorschaubildchen wären ganz nett Editor - wie Andreas schon sagt, ein einstellbares raster wäre nett. - ich finde, die Objekte sollten mittig zum Cursor plaziert werden - Klare Trennung zwischen "Erstellmodus" und "Verschiebemodus" - Hervorhebung markierter Objekte [edit] - Die Z-Order sollte sich nachträglich verändern lassen. [/edit] Dateiformat - ein standardisiertes Format wie XML würde sich anbieten. Erweiterungsmöglichkeiten - sehr schick wäre es, wenn der Editor sich erweitern ließe. So eine Art dynamischer Objektinspektor wäre was. So könnte man für Spiele, die Extrainformationen benötigen, diese direkt integrieren. |
Re: Andorra 2D - Map Editor V 1.0
Liste der Anhänge anzeigen (Anzahl: 1)
Den Vorschlägen von Philip stimme ich voll und ganz zu. Eine Baumübersicht über alle verfügbaren Objekte und einen Objektinspektorähnlichen Eigenschafts-Bearbeitungsdialog fände ich sehr gut.
Ich habe dir als kleine Anregung mal einen uralt Mapeditor, den ich vor ca. 4 Jahren geschrieben habe angehängt. |
Re: Andorra 2D - Map Editor V 1.0
Erstmal danke für eure Beteiligung :)
Zitat:
Soll ich für den Editor eine eigene Klasse machen :cyclops: Zitat:
Zitat:
Da würde mich der Code der Minimap interessieren... Allerdings kann ich mit deinem Editor nichts platzieren :wiejetzt: Danke, mfG |
Re: Andorra 2D - Map Editor V 1.0
Zitat:
Auch der GUI-Editor basiert auf den gleichen Klassen wie denen, die in der Anwendung selbst verwendet werden. Genauso darf auch dein Editor nur auf einer Klasse "TAdMap" basieren, die Karten laden, speichern, editieren (sprich einzelne Objekte hervorheben und angeklickte Objekte zurückgeben) und anzeigen kann. Dann muss man eben nur diese Klasse "TAdMap" in sein eigenes Programm einbinden, die Ladenfunktion aufrufen und schon hat man die Karte aus dem Editor. Zitat:
Der Code der Minimap ist leider nicht sonderlich gut geschrieben, deshalb möchte ich ihn dir jetzt auch nicht geben. Die Funktionsweise ist aber sehr einfach: Alle Objekte werden durchgegangen und abhängig von der Größe und Objekttyp ein farbiges Rechteck auf ein Bitmap gezeichnet. |
Re: Andorra 2D - Map Editor V 1.0
Ok, dann probier ich mal das mit der Klasse :cat:
Edit, noch eine Frage: Soll ich das in eine eigene Unit packen nehme ich an?! edit2, von was soll ich denn TAdMap ableiten? TStringlist ok? |
Re: Andorra 2D - Map Editor V 1.0
Ja, eine eigene Unit.
TAdMap sollte am besten von nichts abgeleitet sein - wie du auf TStringList kommst verstehe ich nicht ganz. |
Re: Andorra 2D - Map Editor V 1.0
Gut, danke, dann probier ich das :thumb:
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:41 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