Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Collisionen (https://www.delphipraxis.net/5470-collisionen.html)

citybreaker 7. Jun 2003 20:10


Collisionen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo!
Habe mal 2 Fragen.

1.Wie functionirt eine Collision mit
einer Kiste. Unzwar so das wenn man
gegen läuft nicht weiter läuft und wenn
man drauf springt das man drauf stehen
bleibt.

2.Wie kann man kontrolieren ob eine Person
Boden unter den Füßen hat? Wenn sie keine
hat und man nicht über einen Abgrundspringt
soll man runterfallen.

Ag3nt 7. Jun 2003 21:33

Re: Collisionen
 
Zitat:

Zitat von citybreaker
Hallo!
Habe mal 2 Fragen.

1.Wie functionirt eine Collision mit
einer Kiste. Unzwar so das wenn man
gegen läuft nicht weiter läuft und wenn
man drauf springt das man drauf stehen
bleibt.

2.Wie kann man kontrolieren ob eine Person
Boden unter den Füßen hat? Wenn sie keine
hat und man nicht über einen Abgrundspringt
soll man runterfallen.

kannste doch über IF Figur.Top > Kiste.Top then Label1.Caption:= 'Stehe drauf';

oder mit If Figur.Left > Kiste.Left then ... :)

ist doch eigentlich easy versuch beide funktionen als einzelnes Image zu speichern. D.h:

Figur = TImage;
Kiste = TImage;

So kannste ne kollision testen :)

Ignazo 7. Jun 2003 22:09

wenn die figur nur auf bestimmten farben stehen kann(z.b. begehbarer untergrund hat die farbe braun) kannst du auch mit der funktion pixels die hintergrundfarbe prüfen auf der sich deine figur befindet

citybreaker 8. Jun 2003 10:06

Ups sorry ich hab vergessen hinzuschreiben,
dass ich DelphiX verwende und keine TImage's.

Haegar 8. Jun 2003 12:47

hi, :mrgreen:
rein vomlogischen her müssteste bei der kiste überprüfen ob der untere rand des sprites (delphiX) gleich dem oberen rand der kiste ist (den einen pixel kann man ja übersehen, wo sich das überschneidet)
Delphi-Quellcode:
if (Figur.y+Figur.height)=(kiste.y) then ....
tja mit der schlucht is ne gute frage...fällt mir erstmal auch nix ein..naja mal weiter überlegen, wenn mir was einfällt, dann meld ich mich nochmal!

gruss haegar

citybreaker 8. Jun 2003 13:09

Danke schon mal!
Fehlt dann nur noch das man an der Kiste nicht
vorbei kann und das mit der schlucht.
Wenn jemand ne Idee oder nen Source Code hat
bitte melden. ;)

Haegar 8. Jun 2003 13:36

das mit dem nicht vorbei baut doch auf dem auf was ich oben geschrieben habe!

Delphi-Quellcode:
if (Figur.y+Figur.height)=(kiste.y) then {biste oben} else {geht net weiter}
verstehste??

gruss haegar

Nonsense 12. Jun 2003 22:10

Warum macht ihr es euch so schwer?
Ich entsinne mich (jaja, DelphiX ist schon ein weilchen her), dass es bei DelphiX eine Kollisionsabfrage gibt (jaja, RTFM...).
Einfach überprüfen und falls es zutrifft, die Figur nicht mehr bewegen. Wa sits daran so schwer?
Ich habs jedenfalls damals ohne große Hilfe hingekriegt, soll heißen, dass ihr es recht hinkriegt... :wink:


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