Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Helikopter-spiel (https://www.delphipraxis.net/157465-helikopter-spiel.html)

Tim1993 12. Jan 2011 16:21

Helikopter-spiel
 
Hey Leute,


Ich brauche dringen hilfe bei der Kolisionsabfrage zweier obejekte, wobei beide objekte rechteckig sind....

Ich danke jetzt schon mal jedem der mir hilft :wink:

mkinzler 12. Jan 2011 16:22

AW: Helikopter-spiel
 
Was für Objekte? ( Shapes, Sprites, ...)

Tim1993 12. Jan 2011 16:24

AW: Helikopter-spiel
 
das sind zwei images die aufeinander zufliegen

Deep-Sea 12. Jan 2011 16:25

AW: Helikopter-spiel
 
Überprüfen ob ein rectangle ein anderes überlappt :roll:

(Aber verständlich, dass man den Thread nicht findet, der ist immerhin schon ein paar Minuten alt!)

Tim1993 12. Jan 2011 16:30

AW: Helikopter-spiel
 
und wie macht man das?... ich hab schon einige versuche mit einer if-anweisung -wo ich den bereich angegeben habe- gemacht funktioniert aber leider nicht....

p.s.: Ich bin anfänger...:)

mquadrat 12. Jan 2011 16:32

AW: Helikopter-spiel
 
Na dann zeig doch mal dein If.

Alternativ ist in dem verlinkten Thread sogar ein Beispiel mit Images drin...

Tim1993 12. Jan 2011 16:34

AW: Helikopter-spiel
 
Zitat:

Zitat von mquadrat (Beitrag 1074279)
Na dann zeig doch mal dein If.

Alternativ ist in dem verlinkten Thread sogar ein Beispiel mit Images drin...

Delphi-Quellcode:
function Treffer (hindernishöhe, hindernisweite,hubschrauberweite,
                  hubschrauberhöhe :integer):boolean;
var i1,i2 : integer;
    getroffen1,getroffen2,explosion : boolean;
Begin
  getroffen1 := false;
  getroffen2 := false;
  explosion := false;
  for I1 := -40 to 40 do
      Begin
         if ( (hindernishöhe + -40 >= hubschrauberhöhe - 40) and
              (hindernishöhe + +40 <= hubschrauberhöhe + 40) ) then
                Begin
                  getroffen1 := true;
                End else
                Begin
                  getroffen1 := false;
                End;
      End;
  for I2 := 0 to 46 do
      Begin
         if ( (hindernisweite + 0 >= 0 ) and
              (hindernisweite + 46 <= hubschrauberweite + 46) or
              (hindernisweite= 46) ) then
                Begin
                  getroffen2 := true ;
                End else
                Begin
                  getroffen2 := false;
                End;
      End;
  If ( (getroffen1 = true) and (getroffen2 = true) ) then
    bEGIN
      explosion := true;
    end;
  result := explosion;
End;

Deep-Sea 12. Jan 2011 16:37

AW: Helikopter-spiel
 
Benutze doch bitte die [DELPHI]-Tags für deinen Code, danke.

Und wo nutzt du da bitte IntersectRect? ...

Tim1993 12. Jan 2011 16:41

AW: Helikopter-spiel
 
Was ist den IntersectRect bitte?

Deep-Sea 12. Jan 2011 16:42

AW: Helikopter-spiel
 
Hast du den von mir in Post #4 verlinkten Thread überhaupt angeguckt, oder einfach mein komplettes Post ignoriert? :shock:


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:58 Uhr.
Seite 1 von 2  1 2      

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