Einzelnen Beitrag anzeigen

Benutzerbild von Diamondback2007
Diamondback2007

Registriert seit: 2. Feb 2007
260 Beiträge
 
Delphi 2007 Professional
 
#1

[Andorra] Sprites lassen sich nicht platzieren

  Alt 16. Jul 2008, 14:51
Hallo zusammen,

ich habe grade ein ziemlich merkwürdiges Problem und ich bin mir fast sicher,
dass der Fehler ein Dummheitsfehler auf meiner Seite ist.

Ich versuche grad einen Leveleditor für ein Spiel zu schreiben. Genauergesagt für ein Breakout.
Soweit kein Problem, ich speichere alle Bricks in eine Inidatei.
Doch jetzt kommt das Problem. Ich kann diese Datei nicht mehr lesen.
Sobald ich z.b. in jeder Ecke ein Brick platziere, dann speichere und wieder lade ist nur noch der in der rechten unteren Ecke da. Und zwar unabhängig davon ob das der letzte Stein im Level war oder nicht.

Ich stell euch einfach mal den Code hoch, ich hab keine Ahnung mehr wo der Fehler liegen könnte...

Delphi-Quellcode:
procedure TMainForm.Load;
var
  Path : string;
  tmpStrLst : TStringList;
  i : Integer;
begin
  New; //Spielfeld leeren
  with TOpenDialog.Create(nil) do
    begin
      Filter := 'Level|*.lvl';
      if Execute then
        begin
          Path := FileName;
          with TIniFile.Create(Path) do
            begin
              tmpStrLst := TStringList.Create;
              ReadSections(tmpStrlst);//Dektionen auslesen
              for i := 0 to tmpStrLst.Count - 1 do
                begin
                  AddBrick(ReadFloat(tmpStrLst.Strings[i], 'X', 0), ReadFloat(tmpStrLst.Strings[i], 'Y', 0), ReadInteger(tmpStrLst.Strings[i], 'Color', 0)); //Jede Sektion öffnen und den Brick hinzufügen
                end;
              tmpStrLst.Free;
              Free;
            end;
        end;
      Free;
    end;
end;
Delphi-Quellcode:
procedure TMainForm.AddBrick(aX, aY: Double; aColor: Integer);
var
  tmp : TBrickEditor;
begin
  tmp := TBrickEditor.Create(AdSpriteEngine);
  tmp.Image := AdImgLst.Find('brick');
  tmp.Width := 90;
  tmp.Height := 20;
  tmp.X := aX;
  tmp.Y := aY;
  tmp.Color := aColor;
  tmp.Free;//Auch das Weglassen hier hilft nichts...
end;
Vielleicht kann mir ja jemand helfen...
Fabian E.
  Mit Zitat antworten Zitat