vorab: steige gerade in OOP ein habe zuvor nur prozedural geschrieben.
Ich bräuchte für ein Spiel Quadrate, welche sich bewegen und auf welche man klicken kann(auch mit dem Mausrad).
Mein Plan war, dass ich eine eigene Klasse erstelle, TControl erbend.
Ich wusste nicht so ganz was der Owner sein soll, daher habe ich Form1 eingetragen, da mir das einigermaßen sinnvoll erschien.
Was besagt denn die Beziehung Owner?
Hab es dann auch geschafft so wie ich mir das vorstellte, jedoch hab ich es nicht hingekriegt die Instanzen auf dem Formular anzuzeigen.
Muss man da etwas besonderes noch einstellen bzw. wo könnte mein Fehler liegen?
Hier nochmal der Code falls gewünscht (vielleicht ist es leichter für euch direkt was neues zu schreiben):
Code: Alles auswählen
type
TGegner = class(TControl)
public
Constructor Erstellen(Breite, Laenge: Integer; DerBesitzer: TComponent);
Procedure Spawnen(xKoor, yKoor: Integer);
end;
implementation
constructor TGegner.Erstellen(Breite, Laenge: Integer; DerBesitzer: TComponent);
begin
inherited Create(DerBesitzer);
self.width := Laenge;
self.height := Breite;
end;
procedure TGegner.Spawnen(xKoor, yKoor: Integer);
begin
self.Left := xKoor;
self.Top := yKoor;
end;
Code: Alles auswählen
procedure TForm1.Button1Click(Sender: TObject);
begin
Gegner1 := TGegner.Erstellen(50,50,Form1);
Gegner1.Parent:=Form1;
Gegner1.Spawnen(50,50);
end;