Ein einziges Problem hindert an dem weiterkommen meines Rollenspieles
!!!
Jeder kennt Diablo, Baal oder Sacred.
Ein typisches Rollenspiel eben wo der Spieler im Mittelpunkt fixiert ist und sich nur alles rundherum bewegt.
Mein Spiel ist natürlich mit DelphiX gemacht und meine Delphiversion ist 4.
Da es natürlich mehrere Büsche im Spiel gibt, welche dieselben Eigenschaften haben, deklariere ich jeden Busch als zB. TBusch, Ein Beispiel zum erstellen dieser Büsche wäre so:
Delphi-Quellcode:
for i:= 1 to 2 do begin
with TBusch.Create(DXSpriteEngine1.Engine) do
begin
x:=i*32;
y:=0;
end;
end;
Nun gibt es 2 Büsche, die dieselben Eigenschaften haben, aber unterschiedliche Koordinaten.
Das Bewegen funktioniert, aber die collision nicht ganz, welche folgendermassen aussieht:
Delphi-Quellcode:
procedure TBusch.DoCollision(Sprite: TSprite; var Done: Boolean);
begin
if sprite is TPlayer then
begin
x:=x-32 {Nur als Beispiel}
end;
end;
Nun verändern sich die Kordinaten nur von dem Busch, mit dem der Player zusammengestossen ist. Der 2 Busch "ignoriert" die collision bzw erfährt keine. Es wird ziemlich alles gleich gemacht, wie bei den DelphiX Tutorials auf
www.delphi-treff.de .
Ich hab auch schon folgendes versucht:
var Busch: array of TBusch;
Nun bekommt jeder Busch eine zusäztliche Zahl und bei einer collision mit einem Busch, kann ich eine FOR-Schleife aufrufen, damit er das mit allen Büschen macht. Mit Delphi 6 personal funktioniert das einigermassen, aber auch nicht besonders und ich habe ja nur Delphi4. Da funktioniert das gar nicht.
Es wird doch jemand mal ein Rollensiel, Jump&Run oder anderes mit DelphiX, wo der Spieler im Mittelpunkt fixiert ist, programmiert haben. Ich bekomm das einfach nicht hin
Danke im Vorraus, ISAS