Zitat von
Cloudwalk:
ja sowas reicht schon. kann ich auch ein Image in Ebenen unterteilen sodass zumbeispiel die geladene grafik(spielfigur) priorität 1, eine Karte Priorität 2, und darunter sozusagen eine Pixelfläche die aus schwarz und weiß(zur abfrage von mauern etc.) die die Priorität 3 hat???
Nein, dazu müsste man ganz anderst vorgehen.
1.) du hast dein Spielewelt abgebildet in ein zweidimensionales Array (stellt dir einfach mal ein Schachspiel vor)
2.) auf jedem Feld sitzt eine Spielfigur, eine Wand, ein Bombe oder was auch immer. Jedes Ding hat eine bestimmte Nummer
3.) mit einer
PaintBox wird dieses Array abgebildet:
Delphi-Quellcode:
procedure TForm1.ZeichneSpielfeld
begin
for x:=0 to 9 do
for x:=0 to 9 do
begin
case spiel[x,y] of
1: PaintMauer(x*10, y*,10); // Mauerstück hat 10 * 10 Pixel
2: PaintBombe(x*10, y*,10);
-1: PaintBackground(x*10, y*,10);
end;
end;
end;
Diese Prozedur wird aus dem Event
OnPaint der PaintBox aufgerufen:
Delphi-Quellcode:
procedure Tform1.Paintbox1Paint();
begin
ZeichneSpielfeld;
end;
4.) immer wenn sich etwas in deinem Spielfeld geändert hat, wird Paintbox.Invalidate; aufgerufen