Thema: Delphi DelphiX "Schussproblem"

Einzelnen Beitrag anzeigen

Dagon

Registriert seit: 13. Jul 2003
505 Beiträge
 
Delphi 7 Professional
 
#12

Re: DelphiX "Schussproblem"

  Alt 8. Feb 2004, 14:12
Zitat von Spurius:
1.Wo kommt der Code zum Einsatz?
Delphi-Quellcode:
procedure TMG.DoMove(MoveCount: Integer);
begin
  inherited;
  case Car.Ausrichtung of
    auLeft: X := X - 3;
    auRight: X := X + 3;
    auUp: Y := Y - 3;
    auDown: Y := Y + 3;
  end;
 
  if (X > Form1.DXDraw1.Width) or (X < 0) then
    Dead;
  if (Y > Form1.DXDraw1.Height) or (Y < 0) then
    Dead;
end;
DoMove ist eine Methode die alle Klassen, die von TSprite abgeleitet sind, erben. Darum schau dir
mal die Implementierung der Klassen TSprite und TImageSprite und insbesondere die Methoden TSprite.DoMove, TImageSprite.DoMove udn TSprite.Move an.



Zitat von Spurius:
2. Und der?
procedure TCar.Schiessen;
begin
Dec(FMunitionMG);
with TMG.Create(engine) do
begin
x := self.X;
y := self.Y;
end;
end;
Delphi-Quellcode:
procedure TForm1.FormKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
  if Key = VK_SPACE then
  begin
    if Car.Munition > 0 then
      Car.Schiessen; <==== HIER
  end;
end;

Zitat von Spurius:
3. Bei mir war das Problem doch, dass ich den schuss nur einmal erzeugen konnte, solabge der alte noch existiert. Wie hast du das konkret umgangen?
Hmm, das ist schwer zu sagen. Ich habe eigentlich DelphiX nur "richtig" eingesetzt, dann geht das auch.
  Mit Zitat antworten Zitat