Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi GameKollosionen proggen ???? (https://www.delphipraxis.net/21421-gamekollosionen-proggen.html)

Mr.Dollar2k3 2. Mai 2004 18:29


GameKollosionen proggen ????
 
hi @ll,
wieder mal hab ich ein kleines problem :
ich bin zur zeit an einen spiel am proggen in denn der benutzter einen raumschiff steuert (bitmap und timer :-D ) nun ja das klapp alles auch aber das problem ist dasss wenn der benutzter auf einen Gegner(bitmap) schisst passiert nix . wie krieg ich es hin dass wenn der Schuss des benutzters den gegner trifft das dasss regestrirt wird und eine kleine animation stat findet oder sonst was?
mein Code :

ich benutzte einen timer mit denn ich versuche( :wall: ) die position des schusses und des gegners zu vergleichen aber es geht halt nicht :pale:

Delphi-Quellcode:

procedure TForm1.Timer7Timer(Sender: TObject);
Var n : integer;
begin
gegnerx:= image2.Left;
gegnery:= image2.Top;

//gegner ist 233pixel breit
for n:=1 to 233 do
gegnerx := gegnerx + 1;
gegnery := gegnery + 1;
if (gegnerx + n= shape1.left) and (gegnery+n = shape1.top) then begin
ShowMessage('treffer');
end;
end;

Mfg
:dance: Mr.Dollar2k3 :dance:

Nonsense 2. Mai 2004 18:38

Re: GameKollosionen proggen ????
 
Für die Schüsse brauchst du ne TList für die Pointer auf die Schuss-Instanzen. Zur Kollisions-Überprüfung suche mal nach Bounding Boxes und Bit-Masken. Das dürfte das sein, was zu suchst. Ich würde dir aber OpenGL oder DirectX/DelphiX empfehlen, da nach spätestens 50 Schiffen alles ruckelt.

Mr.Dollar2k3 2. Mai 2004 19:07

Re: GameKollosionen proggen ????
 
thx für die hilfe
ich hab es nur geproggt damit ich etwas übeung in gamedevelopment hab :oops:
naja opengl hab ich auch mal gemacht iss aber zu schwer hab es nie richtig gecheckt


was meinst du mit pointer für die instanz pleaz mehr infos

Nonsense 2. Mai 2004 19:14

Re: GameKollosionen proggen ????
 
Zitat:

Zitat von Mr.Dollar2k3
thx für die hilfe
ich hab es nur geproggt damit ich etwas übeung in gamedevelopment hab :oops:
naja opengl hab ich auch mal gemacht iss aber zu schwer hab es nie richtig gecheckt


was meinst du mit pointer für die instanz pleaz mehr infos

Wenn OpenGL zu schwer ist, solltest du dir mal DelphiX anschauen, ich denke, das ist genau das Richtige für dich.
Ich merke schon, dass du mit OOP nicht viel am Hut hast, deswegen brauch dich das mit den Instanzen nicht unbedingt interessieren. Ich würde dir aber empfehlen, dich mal mit Klassen etc. auseinanderzusetzen.

Mr.Dollar2k3 2. Mai 2004 19:23

Re: GameKollosionen proggen ????
 
jooo
OOP isss nicht ganz mein ding ich progge meistens einfach los wenn ich ne idee hab naja du hast schon recht vieleicht sollte ich mit DirectX anfangen dann kann ich zu mindest auch anstendige grafiken machen.

Zur Klassen : ich kenn schon klassen aber ich weiss immer nicht sooo recht wann ich sie einsetzten soll usw. naja thx aufjedenfall

Phantom1 3. Mai 2004 15:48

Re: GameKollosionen proggen ????
 
@Mr.Dollar2k3: Ich hatte damals genau das gleiche problem wie du, ich wusste wie klassen funktionieren usw, aber wusste nicht genau wo ich sie einsetzte. Daher hatte ich damals genau wie du ein Weltraumshooter programmiert (DirectX bzw DirectDraw, NonVCL), allerdings muss ich sagen das es nicht wirklich richtig DirectX ist, da ich intern nur auf ein TBitmap zeichne und dieses an DirectX weitergebe. Nunja es sollte ja auch ein Übung mit Klassen sein usw... Ich bin damit sogar fertig, es fehlen mir nur noch grafiker für die Raumschiffe bzw Animationen. Naja kurze Rede langer Sinn, du kannst dir ja mal mein Spiel anschauen, den SourceCode habe ich beigepackt:

www.members.aol.com/jasonvoorhees2k/space.zip (200KB)

Die wichtigsten Unit's sind MainUnit.pas und UEngine.pas


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:10 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