Autor Beitrag
Xearox
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260
Erhaltene Danke: 3



BeitragVerfasst: Mo 15.03.10 06:28 
Schönen Guten Morgen euch allen


Ich habe ein Problem, ich bin zur Zeit an einem Kleinem Spiel am arbeiten, doch ich kann das nicht so genau erklären, mit ziemlich ratlos.
Ich möchte gerne mehrere Objekte als Bilder auf meiner Form darstellen, ohne hunderte von TImage-Objekte zu erstellen...

Programm ablauf:

Das Spiel wird gestartet, nun sollen mehrere Bilder von oben runter kommen und wenn sie den Bildschirmrand erreicht haben, soll ein Ereignis stattfinden.
Das habe ich auch geschafft, jedoch nur mit einem TImage, vorher habe ich ein Panel verwendet, jedoch nun nutze ich halt wegen dem Bild, ein TImage.

So, nun möchte ich, das am Anfang nur 2 Bilder kommen
nach dem die Runde beendet wurde, sollen 2 weitere kommen, also insgesamt 4.
Danach sollen wieder 2 weitere kommen, damit sind es dann 6.
Dies soll halt Automatisch geschehen.

Der Benutzer soll aber auch Objekte erschaffen können, jedoch ist dem Seine max. Anzahl auf 200 begrenzt.
Nun meine Frage, wie kann ich diese erreichen, ohne 200 TImage-Objekte zu erstellen.


Ich habe es mit einem Array versucht, jedoch sagt mir der Compiler: [DCC Fehler] Unit1.pas(48 ): E2010 Inkompatible Typen: 'Integer' und 'TImage'

der Programm code dafür sieht wie folgt aus:
ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
type
  Ship1ArrayType = Array [1..200of integer;

....

var
  Ship1Typ : Ship1ArrayType;

....

implementation

{$R *.dfm}

procedure TForm1.Ship1Init;
begin
  Ship1Typ[1]:=Image1;
end;

das ist mein Code, mir ist schon klar, das Integer nur für Zahlen sind, jedoch weiß ich nicht, was ich stattdessen verwenden muss.

es gibt sicherlich eine noch einfacher Weg, 200 Objekte zu erstellen, ohne 200 Array zu erstellen.

Kann mir jemand weiterhelfen?


Vielen Danke =)


Zuletzt bearbeitet von Xearox am Mo 15.03.10 07:04, insgesamt 1-mal bearbeitet
Blackheart666
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2195

XP
D3Prof, D6Pers.
BeitragVerfasst: Mo 15.03.10 06:33 
TImage
Xearox Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 260
Erhaltene Danke: 3



BeitragVerfasst: Mo 15.03.10 06:36 
haha, ja super ey...

so was einfaches :(
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19314
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mo 15.03.10 10:25 
Ohne so viele visuelle Komponenten bietet sich eine TPaintBox an, auf die du in OnPaint zeichnen kannst. Dann brauchst du im Hintergrund nur die Bilder und die Daten was gerade wo angezeigt werden muss.

Und wenn du bereits nur ein TImage anzeigst, kannst du auch in dem Array nur die Bilder speichern und in dieses eine TImage laden.