Kollisions Abfrage (2D)

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
d3v1L
Beiträge: 4
Registriert: 25.10.2006 17:35
Kontaktdaten:

Kollisions Abfrage (2D)

Beitrag von d3v1L »

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..
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Es gibt gar einen eigenen Befehl :wink:
Schau nochmal in die PB-Hilfe.
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
d3v1L
Beiträge: 4
Registriert: 25.10.2006 17:35
Kontaktdaten:

Beitrag von d3v1L »

joa die spritecollision und spritepixelcollision wenn ich mich nicht irre, aber es gibt grundsetzlich nur 1 zurück und nit die genaue position auf dem sprite um jetzt die achse von dem balles dem entsprechend anpassen zu können
wer rechtschreibfehler findet darf se behalten +.+
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

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.
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.
Benutzeravatar
vonTurnundTaxis
Beiträge: 2130
Registriert: 06.10.2004 20:38
Wohnort: Bayreuth
Kontaktdaten:

Beitrag von vonTurnundTaxis »

Die Position des Balles hast du doch sowieso. Und die des Schlägers auch.
Wo ist das Problem?
Nicht durch Zorn, sondern durch Lachen tötet man
ClipGrab | Pastor - jetzt mit kurzen URLs!
Benutzeravatar
#NULL
Beiträge: 2237
Registriert: 20.04.2006 09:50

Beitrag von #NULL »

>> 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" <)
my pb stuff..
Bild..jedenfalls war das mal so.
d3v1L
Beiträge: 4
Registriert: 25.10.2006 17:35
Kontaktdaten:

Beitrag von d3v1L »

ach herje +.+ mein fehler... ja so ist das wenn man nit richtig überlegt
thx @ all
klar hab i die position is ja logisch
sry also ;)
wer rechtschreibfehler findet darf se behalten +.+
Kaeru Gaman
Beiträge: 17389
Registriert: 10.11.2004 03:22

Beitrag von Kaeru Gaman »

davon ab, schau einfach mal in der thread mit den positions-abfragen.
die teile sind etwas flexibler als die internen befehle.
Der Narr denkt er sei ein weiser Mann.
Der Weise weiß, dass er ein Narr ist.
Ghost
Beiträge: 141
Registriert: 10.04.2006 09:10

Beitrag von Ghost »

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)
(nutze v. 3.3)
Antworten