Forum: Multimedia
Delphi
by Namenloser,
15. Feb 2010
FSprites ist einfach eine Kurzschreibweise für FSprites.Items. Das funktioniert, weil die Array-Property "Items" in TObjectlist als "default;" deklariert ist. Wenn bei deinem Delphi die Source Codes mitgeliefert werden, kannst du dir die Deklaration ja mal anschauen.
Forum: Multimedia
Delphi
by Namenloser,
14. Feb 2010
Copy-Paste-Fehler, sry. Sowas passiert halt, wenn man zu langen Code im Beitragseditor schreibt :mrgreen:
Forum: Multimedia
Delphi
by Namenloser,
14. Feb 2010
Ich meinte eher sowas:
type
TSprite = class
protected
FImage: TImage;
FParent: TForm;
procedure InitImage; virtual; abstract;
public
constructor Create(Parent: TForm; Position: TPoint);
Forum: Multimedia
Delphi
by Namenloser,
14. Feb 2010
Das naheliegenste wäre erstmal, alles in eine Klasse zu packen, was auch im spiel hinterher ein Objekt ist - Sprich: Invader = Klasse, Bullet = Klasse, Raumschiff = Klasse usw... diese Klassen leitet man im elegantesten Fall von einer Basisklasse ab, die die abstrakten Methoden Move() und Draw() zur Verfügung stellt. Diese werden von den abgeleiteten Klassen jeweils überschrieben. Die Objekte...
Forum: Multimedia
Delphi
by Namenloser,
13. Feb 2010
Du hast UKol nirgens initialisiert. Schriebe am Anfang der Funktion UKol := TKollision.Create; und am Ende UKol.Free
Allerdings ist es nicht sonderlich sinnvoll, Code so in Klassen auszulagern wie du es hier getan hast. Eine Klasse soll dazu dienen, einen Programmteil so abzukapseln, dass er flexibel und leicht wiederverwendbar ist. Dazu ist es nötig, dass möglichst wenig Abhängigkeiten zu...
Forum: Multimedia
Delphi
by Namenloser,
7. Feb 2010
Habe das Projekt mal im Debugger durchgesteppt: Das Problem ist, dass die Schleife, in der die Kollision einer Kugel mit einem Invader geprüft wird, beim Auftreten einer Kollision nicht abgebrochen wird. D.h. wenn die Kugel schon entfernt wurde, wird sie trotzdem noch auf eine Kollision mit den übrigen Invadern geprüft, was zu einer Zugriffsverletzung führt.
Beheben kannst du das, indem du...
Forum: Multimedia
Delphi
by Namenloser,
7. Feb 2010
Ich sprach von der äußeren Schleife (Z.236) :wink: