Hallo zusammen!
Leider sind die Tutorials im Netz die man zu DelphiX findet nicht grade der Hit.
Alle hören dann auf, wenn es interessant wird.
Meine Frage:
Ich habe ein Raumschiff und möchte das dieses Schiff mehrere Schüsse abfeuern kann.
Klasse für die Waffe:
Delphi-Quellcode:
TWeapon = class(TImageSpriteEx)
public
name : String; // Name der Waffe
damage : Integer; // Schadenspotential
speed : double; // Mündungsgeschwindigkeit
cost : Integer; // Kaufpreis
fireRate : Integer; // Abstand zum nächstem Schuss
primary : boolean; // wenn true dann Primärwaffe
end;
Klasse für das Schiff:
Delphi-Quellcode:
TPlayer =
class(TImageSpriteEx)
public
TP : integer;
// maximale hitpoints
health : Integer;
// momentane hitpoints
speed : double;
// Bewegungsgeschwindigkeit
money : Integer;
Primaryweapon : TWeapon;
// Hauptbewaffnung des Spielers
SecundaryWeapon : TWeapon;
// Unterstützungswaffe
end;
Ich lade TWeapon in eine TList (TWeaponList) und möchte abhängig von der FireRate(Abstand zwischen den beiden Schüssen) mehrere Salven abfeuern können.
Wenn ich aber im DXTimer Event den listenIndex von TWeaponList incrementiere wird natürlich der alte Schuss nicht mehr weitergezeichnet, sondern halt nur der jeweils aktuelle...
Leider habe ich die Funktionsweisen von "DoMove" "Move" und "IsMoved" noch nicht verstanden und ins Programm eingebaut. Sind diese Funktionen der Schlüssel?
Vielleicht hab ich ja Glück, und es findet sich hier ein efahrender DelphiXler
MfG,
Blackthorne