![]() |
DelphiX-------Schuss problem !!!
Hallo Leute
Ich hab ein problem. Warum verschwinden nicht alle Schüsse ?
Delphi-Quellcode:
Nicht alle Schüsse sterben. Und nach ein paar Minuten ruckelt die Anwendung, weil zuviele Sprites da sindTschuss = class(TImageSpriteEx) leben,speed:single; public constructor Create(AParent: TSprite ); override; Procedure DoMove(MoveCount: Integer);override; procedure DoCollision(Sprite: TSprite; var Done: Boolean); override; end; procedure Tschuss.DoCollision(Sprite: TSprite; var Done: Boolean); begin if Schuss.X>1000 then dead; end; constructor Tschuss.Create(AParent: TSprite ); begin inherited Create(AParent); Image:=Form1.DXImageList1.Items.Find('Schuss'); width:=image.width; height:=image.height; end; procedure TForm1.DXTimer1Timer(Sender: TObject; LagCount: Integer); begin DXInput1.Update; DXSpriteEngine1.Move(1); DXDraw1.Flip; DXSpriteEngine1.Draw; DXSpriteEngine1.Dead; end; Was mach ich da falsch ? :wall: :wall: :wall: :gruebel: :gruebel: |
Re: DelphiX-------Schuss problem !!!
Ich bin weder DelphiX-Spezialist noch -Fan, aber du machst du Freigeben der Objekte anscheinend in "DoCollision". Vom Namen her würde ich sagen, daß das nur aufgerufen wird, wenn die Collision Detection Engine eine Kollision des Projektils mit irgendwas anderem erkannt hat. Wenn man nun daneben schießt, kollidiert nix und folglich wird die Funktion niemals aufgerufen.
Von daher bräuchtest du irgendein Event, das in jedem Frame aufgerufen wird (DoMove :?:) und in dem du dann überprüfst, ob die X-Position weit genug weg ist, daß du das Objekt löschen kannst. |
Re: DelphiX-------Schuss problem !!!
Das dürfte jezt funzen :thuimb: DANKE
Aber weisst du vielecht auch noch warum alle Schüsse sterben und nicht nur der ,der sterben soll ? :gruebel: |
Re: DelphiX-------Schuss problem !!!
Ich habs rausgefunden ganz von alleine :thuimb: :thuimb:
Delphi-Quellcode:
DANKE NOCHMALS :thuimb:
if (Y = Form1.DXDraw1.Height) or ((X < 0) or (X > Form1.DXDraw1.Width)) then
begin Dead; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:14 Uhr. |
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