Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Kollision 2er Images (https://www.delphipraxis.net/12945-kollision-2er-images.html)

avadex 7. Dez 2003 15:51


Kollision 2er Images
 
Hi,
ich bin dabei ein kleines Pacman Spiel zu entwickeln! Das eine Image stellt meinen Pacman darf (37x37px) und das andere Image immer das Futter!
Mein Pacman bewegt sich in 4er Schritten! Ich habe also das Futter immer mit einem random so ausrichten lassen, dass es durch 4er Schritte zu erreichen ist!
Aber die einfache Abfrage
Delphi-Quellcode:
if (Image1.Left = Image2.Left) and (Image1.Top = Image2.Top) then EatFood;
klappt leider nicht so gut! Wie könnte ich es besser lösen? Denn bei dieser Variante muss ich den Pacman pixelgenau auf das Fresse zubewegen! Kann ich es nicht irgendwo so ändern, dass um das Futter praktisch ein kleiner unsichtbarer Kreis ist, der beim berühren meine EatFood prozedur auslöst?

sakura 7. Dez 2003 15:56

Re: Kollision 2er Images
 
Wiee wäre es mit einem 5x5 Pixeln großem Quadrat ;-)

Delphi-Quellcode:
if (Abs(Image1.Left - Image2.Left) <= 5) and (Abs(Image1.Top - Image2.Top) <= 5) then EatFood;
...:cat:...

avadex 7. Dez 2003 16:07

Re: Kollision 2er Images
 
cool, funktioniert schon besser! aber ich muss immer mit der rechten oberen ecke des pacmans an das futter ran damit er es auch wirklich frisst!

sakura 7. Dez 2003 16:20

Re: Kollision 2er Images
 
Dann mal so (wenn Image1 das Futter ist)

Delphi-Quellcode:
if
  (Image1.Left > Image2.Left) and
  (Image1.Left + Image1.Width < Image2.Left) and
  (Image1.Top > Image2.Top) and
  (Image1.Top + Image1.Height < Image2.Top)
then
    EatFood;
Einfach mal mit diesem Gedanken weiterspielen ;-)

...:cat:...


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