Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Klatsch und Tratsch (https://www.delphipraxis.net/34-klatsch-und-tratsch/)
-   -   Hilfe für Pacman-Projekt (https://www.delphipraxis.net/194783-hilfe-fuer-pacman-projekt.html)

KleinTessy 4. Jan 2018 14:10

Hilfe für Pacman-Projekt
 
Hallo,
Ich würde mich freuen wenn mir jemand bei meinem Projekt weiterhelfen könnte...
Ich möchte ein Spiel programmieren, dass ähnlich wie das Spiel Pacman sein soll...
Dafür habe ich verschiedene Icons verwendet...
Wenn Icon1 auf den auf Icon2 bewegt wird soll Icon2 verschwinden und eine Nachricht erscheinen
(also ähnlich wie wenn pacman von einem monster erwischt wird, oder diese gelben Dinger sammelt)
Bin noch ein Anfänger und kenne mich nicht so gut aus... über eine Antwort würde ich mich sehr freuen...

Lg Tessy

LTE5 4. Jan 2018 14:50

AW: Hilfe für Pacman-Projekt
 
Was ist genau deine Frage?

KleinTessy 4. Jan 2018 15:24

AW: Hilfe für Pacman-Projekt
 
... ich möchte dass eine nachricht erscheint wenn sich zwei icons auf dem selben platz befinden

LTE5 4. Jan 2018 15:27

AW: Hilfe für Pacman-Projekt
 
Ich stelle zwar auch gern ungenaue Fragen und viele hier im Forum verzweifeln daran.

Aber was du da fragst ist in etwa als ob ich sage "Ich möchte gerne in einem großen Haus wohnen".
Ohne Hintergrundinformationen wird man nicht weit kommen.

Luckie 4. Jan 2018 15:52

AW: Hilfe für Pacman-Projekt
 
Wie sieht denn dein bisheriger Code aus, der die Icons bewegt? Und hast dunschon eine Kollisionsabfrage?

Neutral General 4. Jan 2018 15:53

AW: Hilfe für Pacman-Projekt
 
So wie ich das lese geht es ihm gerade um die Kollisionsabfrage.

Du musst die Positionen und Größen der beiden Icons miteinander vergleichen und checken ob sie sich überlappen.
Da gibts erst mal (ohne Engine) nichts bequemes. Du musst selbst checken/ausrechnen ob sich die beiden Rechtecke überlappen.

Redeemer 6. Jan 2018 10:15

AW: Hilfe für Pacman-Projekt
 
Sind Icon1 und Icon2
Delphi-Quellcode:
TImage
s?

Irgendwie so?
Delphi-Quellcode:
function Collides(Obj1, Obj2: TControl): Boolean;
begin
  Result := ((Obj1.Top in [Obj2.Top .. Obj2.Top + Obj2.Height-1]) and
             (Obj1.Left in [Obj2.Left .. Obj2.Left + Obj2.Width-1])) or
            ((Obj2.Top in [Obj1.Top .. Obj1.Top + Obj1.Height-1]) and
             (Obj2.Left in [Obj1.Left .. Obj1.Left + Obj1.Width-1]));
end;

Bernhard Geyer 6. Jan 2018 12:10

AW: Hilfe für Pacman-Projekt
 
Wenn man TRects hat, kann man die Berechnung durch Windows durchführen lassen:

https://msdn.microsoft.com/en-us/lib...(v=vs.85).aspx

EWeiss 6. Jan 2018 13:30

AW: Hilfe für Pacman-Projekt
 
Zitat:

Zitat von Redeemer (Beitrag 1390390)
Sind Icon1 und Icon2
Delphi-Quellcode:
TImage
s?

Irgendwie so?
Delphi-Quellcode:
function Collides(Obj1, Obj2: TControl): Boolean;
begin
  Result := ((Obj1.Top in [Obj2.Top .. Obj2.Top + Obj2.Height-1]) and
             (Obj1.Left in [Obj2.Left .. Obj2.Left + Obj2.Width-1])) or
            ((Obj2.Top in [Obj1.Top .. Obj1.Top + Obj1.Height-1]) and
             (Obj2.Left in [Obj1.Left .. Obj1.Left + Obj1.Width-1]));
end;

Dir ist aber schon klar das ein Pacman rund ist oder
Fehlt da nicht was?

Sin, Cos, Tan, PI wären dann Voraussetzung da man hier nicht vom TRect ausgehen kann sondern vom Mittelpunkt jedes einzelnen Objects die Kollision berechnen muss.

gruss

LTE5 6. Jan 2018 13:37

AW: Hilfe für Pacman-Projekt
 
Die Pacman-Figuren "fahren" doch eh in Bahnen herum. Von daher ist es doch total egal, wie man es berechnet - also ob rund oder eckig.


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