Einzelnen Beitrag anzeigen

Vasco da Gama

Registriert seit: 2. Aug 2009
131 Beiträge
 
Delphi 2009 Professional
 
#1

Andorra 2D - Map Editor V 1.0

  Alt 19. Sep 2009, 14:35
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 . 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:
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;
Und dann zum Aufrufen der Map:
LoadMap(maps/test.admap); Dafür muss man die Terrain.ail (im resources Verzeichnis des Editors) in den Ordner kopiert haben, in dem auch die anderen ImageLists liegen.

3. Changelog
Code:
V 1.0
Der Editor geht online.
Angehängte Dateien
Dateityp: zip admapeditor_v_1.0_194.zip (1,13 MB, 43x aufgerufen)
Dateityp: zip admapeditor_v_1.0_scr_168.zip (1,15 MB, 28x aufgerufen)
Flo
Programmiere inzwischen hauptsächlich mit C++. Nicht böse werden
  Mit Zitat antworten Zitat