![]() |
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:
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?
if (Image1.Left = Image2.Left) and (Image1.Top = Image2.Top) then EatFood;
|
Re: Kollision 2er Images
Wiee wäre es mit einem 5x5 Pixeln großem Quadrat ;-)
Delphi-Quellcode:
...:cat:...
if (Abs(Image1.Left - Image2.Left) <= 5) and (Abs(Image1.Top - Image2.Top) <= 5) then EatFood;
|
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!
|
Re: Kollision 2er Images
Dann mal so (wenn Image1 das Futter ist)
Delphi-Quellcode:
Einfach mal mit diesem Gedanken weiterspielen ;-)
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; ...:cat:... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:20 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz