Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi AV bei Shooter-game (https://www.delphipraxis.net/94625-av-bei-shooter-game.html)

bitsetter 24. Jun 2007 22:16

Re: AV bei Shooter-game
 
Hi,

ein Paar Sachen habe ich noch gefunden:
Delphi-Quellcode:
procedure TForm2.Timer1Timer(Sender: TObject);
var
i: Integer;
begin
  with Image2 do begin
    if GetAsyncKeyState(VK_left)<>0 then Left := Left-2;
    if GetAsyncKeyState(VK_right)<>0 then Left := Left+2;
    if GetAsyncKeyState(VK_Up)<>0 then Top := Top-2;
    if GetAsyncKeyState(VK_Down)<>0 then Top := Top+2;
  end;
  for i := high(Schuss) downto low(Schuss) do begin
  //for i := low(Schuss) to high(Schuss) do begin
    Schuss[i].Y := Schuss[i].Y-1;
    if Schuss[i].Y<20 then begin
      if Length(Schuss)> 1 then
        Move(Schuss[1], Schuss[0], Length(Schuss)* SizeOf(TPoint)-SizeOf(TPoint));
      //Move(Schuss[1], Schuss[0], Length(Schuss));
      SetLength(Schuss, Length(Schuss)-1);
    end;
    if i<= high(Schuss) then
      Canvas.Ellipse(Schuss[i].X-5, Schuss[i].Y-5, Schuss[i].X+5, Schuss[i].Y+5);
  end;
end;
Edit: Oder mit else:
Delphi-Quellcode:
    end
    else
    //if i<= high(Schuss) then
      Canvas.Ellipse(Schuss[i].X-5, Schuss[i].Y-5, Schuss[i].X+5, Schuss[i].Y+5);

dajuhsa 26. Jun 2007 14:51

Re: AV bei Shooter-game
 
ja danke probier ich mal aus!

aber ich verstehe nicht:
Zitat:

Move(Schuss[1], Schuss[0], Length(Schuss)* SizeOf(TPoint)-SizeOf(TPoint));
ist der letzte Parameter ne zahl von bytes oder von Variablen?

Namenloser 26. Jun 2007 15:05

Re: AV bei Shooter-game
 
hi,

anscheinend die Anzahl von Bytes :wink:. Achja, und soweit ich weiß, muss man bei move darauf achten, dass es sich um ein packed array handelt, weil das Array vom Speichermanager sonst unter umständen zerstückelt in den Arbeitsspeicher geschoben wird. Move funktioniert aber nur, wenn die Daten "in einem Guss" da liegen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 Uhr.
Seite 2 von 2     12   

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz