Kollisions Abfrage (2D)
Kollisions Abfrage (2D)
Moin,
Bin blutiger anfänger was es angeht
spiele zu programmieren daher die frage an euch
wie stelle ich es an von einem verschiebaren balken
die genaue position des balles zu bekommen der
da gegen stößt
das game ist eine art BreakOut-Clone um so ein
wenig rein zu kommen... hab schon geschaut aber
kein anschauliches matreal für PB 4.0 gefunden..
Bin blutiger anfänger was es angeht
spiele zu programmieren daher die frage an euch
wie stelle ich es an von einem verschiebaren balken
die genaue position des balles zu bekommen der
da gegen stößt
das game ist eine art BreakOut-Clone um so ein
wenig rein zu kommen... hab schon geschaut aber
kein anschauliches matreal für PB 4.0 gefunden..
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
ob du nun kollisionsbefehle nimmst, oder positions-checks
( http://www.purebasic.fr/german/viewtopic.php?t=9093 )
grundsätzlich musst du beim prüfen der kollisionen die position mit angeben.
wenn also eine kollision stattfindet (rückgabe 1), dann findet die an der stelle statt,
wo du zuvor die prüfung durchgeführt hast.
die Sprites sind keine Objekte, sondern Brushes bzw. Decals,
d.h. sie dienen nur einer übertragung von farbinformationen in der screen-buffer.
du kannst jedes Sprite beliebig oft auf dem selben screen displayn.
edit:
die genaue position AUF dem sprite kannst du nur errechnen.
du hast ja die koordinaten von schläger und ball zum zeitpunkt der berührung.
( http://www.purebasic.fr/german/viewtopic.php?t=9093 )
grundsätzlich musst du beim prüfen der kollisionen die position mit angeben.
wenn also eine kollision stattfindet (rückgabe 1), dann findet die an der stelle statt,
wo du zuvor die prüfung durchgeführt hast.
die Sprites sind keine Objekte, sondern Brushes bzw. Decals,
d.h. sie dienen nur einer übertragung von farbinformationen in der screen-buffer.
du kannst jedes Sprite beliebig oft auf dem selben screen displayn.
edit:
die genaue position AUF dem sprite kannst du nur errechnen.
du hast ja die koordinaten von schläger und ball zum zeitpunkt der berührung.
Zuletzt geändert von Kaeru Gaman am 25.10.2006 17:46, insgesamt 1-mal geändert.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Der Weise weiß, dass er ein Narr ist.
- vonTurnundTaxis
- Beiträge: 2130
- Registriert: 06.10.2004 20:38
- Wohnort: Bayreuth
- Kontaktdaten:
>> kein anschauliches matreal für PB 4.0 gefunden..
bis nach montreal? und dann nichts gefunden? ..schade
http://www.purebasic.fr/german/viewtopi ... =kollision
http://www.purebasic.fr/german/viewtopi ... =kollision
..das ist doch nich so schwer. wenn du zwei rechtecke hast, kannst du einfach mit If-abragen anhand der x/y-koordinaten und/oder den breiten/höhen der rechtecke überprüfen, ob sie sich überschneiden oder nicht.
<edit:>
"post-warp 6, energie"
bis nach montreal? und dann nichts gefunden? ..schade
http://www.purebasic.fr/german/viewtopi ... =kollision
http://www.purebasic.fr/german/viewtopi ... =kollision
..das ist doch nich so schwer. wenn du zwei rechtecke hast, kannst du einfach mit If-abragen anhand der x/y-koordinaten und/oder den breiten/höhen der rechtecke überprüfen, ob sie sich überschneiden oder nicht.
<edit:>
"post-warp 6, energie"

-
- Beiträge: 17389
- Registriert: 10.11.2004 03:22
Also bei dem spiel würde ich " if spritecollision" nicht empfehlen sondern lieber manuel auf überlappen überprüfen (also intervalle für die Seiten Festlegen)
weil du so besser getrennt auf collisionen von der Seite oder von Oben überprüfen kannst.
Beim schläger macht dies kaum unterschiede(auser das wenn man den Ball nur noch streift er durch den schläger fliegt oder je nach code im schläger hinn und hertantzt (mein aktuelles Problem).
Aber bei den zu treffenden Vierecken wird es Problematisch mit Einfalswinkel = Ausfallswinkel, da für jeden fall (ob von der seite,oben unten,von links nach rechts...) andere Berrechnungen nötig sind.
(Programiere grad an so einem Spiel zum array-Training)
weil du so besser getrennt auf collisionen von der Seite oder von Oben überprüfen kannst.
Beim schläger macht dies kaum unterschiede(auser das wenn man den Ball nur noch streift er durch den schläger fliegt oder je nach code im schläger hinn und hertantzt (mein aktuelles Problem).
Aber bei den zu treffenden Vierecken wird es Problematisch mit Einfalswinkel = Ausfallswinkel, da für jeden fall (ob von der seite,oben unten,von links nach rechts...) andere Berrechnungen nötig sind.
(Programiere grad an so einem Spiel zum array-Training)
(nutze v. 3.3)