Einzelnen Beitrag anzeigen

Benutzerbild von xZise
xZise

Registriert seit: 3. Mär 2006
Ort: Waldbronn
4.303 Beiträge
 
Delphi 2009 Professional
 
#90

Re: [Game] 2.6D - Sandb(L)ox

  Alt 18. Feb 2008, 15:49
Zuerstmal hast du wohl eine "Feldklasse":
Delphi-Quellcode:
TBlock = class(TObject)
private
  FX, FY : Integer;
public
  property X : Integer read FX;
  property Y : Integer read FY;

  constructor Create(const AX, AY : Integer);
end;
Und entweder nimmst du einfach so eine Liste (Da das Object alles sein könnte, muss man sich sicher sein, was man da macht!):
Delphi-Quellcode:
FList : TObjectList;
[...]
FList := TObjectList.Create;
[...]
block := TBlock.Create([...]);
[...]
FList.Add(block);
[...]
Oder du erstellst dir selber eine Liste (aufwendiger ab im endeffekt Fehlersicherer):
Delphi-Quellcode:
TBlockList = class (TObject)
private
  FList : TObjectList;
  function GetBlock(AIndex : Integer) : TBlock;
  procedure SetBlock(AIndex : Integer; Value : TBlock);
public
  procedure Add(ABlock : TBlock);
  procedure Delete(ABlock : TBlock);

  property Bloecke[AIndex : Integer] : TBlock read GetBlock write SetBlock; default;

  constructor Create;
  destructor Destroy;
end;
Und fertig

Naja jedenfalls die Definition der Klassen.
Diese kannst du genauso wie eine TObjectList-Liste verwenden.

MfG
xZise

PS: Das "default;" hinter der Property bedeutet, dass man die nicht aufrufen muss. Wenn du das bei TStrings machst, machst du ja meißt "MyTStrings[<Zeile>]"
Fabian
Eigentlich hat MS Windows ab Vista den Hang zur Selbstzerstörung abgewöhnt – mkinzler
  Mit Zitat antworten Zitat