Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi DelphiX: fehlermeldung nach game over (https://www.delphipraxis.net/3351-delphix-fehlermeldung-nach-game-over.html)

Haegar 8. Mär 2003 02:05


DelphiX: fehlermeldung nach game over
 
hi, ich habe in meinem spiel, nen schiff, nen asteroiden und nen schuss :D
jetzt hatte ich vor, das wenn der asteroid mit dem schiff collidiert, asteroid und schiff verschwinden, die nachricht game over erscheint, und man über maus neu starten kann oder beenden kann (menü).
habe dazu folgenden code im collisionsfall:
Delphi-Quellcode:
procedure TAsteroid.DoCollision(Sprite:TSprite; var Done:Boolean);
begin
 if Sprite is TRaumschiff then
  begin
   Form1.DXtimer.Enabled:=false;
   asteroid.Dead;
   schiff.Dead;
   Form1.DXDraw.Surface.Fill(0);
   Form1.DXspreng.Dead;
   showmessage('GAME OVER');
  end;
 if Sprite is TSchuss then
  begin
   y:=10;
   x:=20+random(420);
   //dead;
   punkte:=punkte+treffer;
   Form1.lbl_punkte.Caption:=IntToStr(punkte);
  end;
end;
tja, nun frag ich mich warum ich nach dem bestätigen von "ok-button" bei GameOver nen Laufzeitfhler bekomme. kann mir einer sagen, wo der fehler liegt?? mit compilieren mit F7 geht er bis zum letzten "end;"!


gruss haegar

Haegar 8. Mär 2003 17:06

mal wieder nach oben rücken ;)

mimi 8. Mär 2003 19:59

Das kann daran liegen das die colision schon bei onCreate kommet !
bei DX(Frag mich nicht warum) kann man nicht, wenn der DXTimer an ist beim Starten ShowMessage machen, Deaktiver mal den DXTimer bei einer Colision(vileicht hilft das ja)

Haegar 8. Mär 2003 20:41

hab vorrübergehen nur die showmessage drin, sowie timer.enabled:=false;
das klappt soweit, aber eigentlich wollte ich eben durch spiel ende erstmal die objekte löschen! naja kann ich später nochmal probieren

gruss haegar

mimi 8. Mär 2003 21:05

das ist ja auch nicht so schwer.
du verwendes Sprints oder ?

Haegar 8. Mär 2003 21:27

TImageSprite sind die objekte

mimi 8. Mär 2003 21:51

einfach mit Free klllen;)

Haegar 8. Mär 2003 21:59

funktioniert aber nicht, vielleicht bau ichs auch nur an der falschen stelle ein!.....wo musses denn hin?

mimi 8. Mär 2003 22:12

Es gibt da eine andre funktion bei den Sprints;)
ich kenne mich leider mit Sprints und delphix nicht aus.
aber das muss da hin wo es gelöscht werden soll;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:40 Uhr.

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