Seite 1 von 1
Kollisions Abfrage (2D)
Verfasst: 25.10.2006 17:40
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..
Verfasst: 25.10.2006 17:41
von vonTurnundTaxis
Es gibt gar einen eigenen Befehl

Schau nochmal in die PB-Hilfe.
Verfasst: 25.10.2006 17:42
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
Verfasst: 25.10.2006 17:45
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.
Verfasst: 25.10.2006 17:45
von vonTurnundTaxis
Die Position des Balles hast du doch sowieso. Und die des Schlägers auch.
Wo ist das Problem?
Verfasst: 25.10.2006 17:47
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"

Verfasst: 25.10.2006 17:51
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

Verfasst: 25.10.2006 17:54
von Kaeru Gaman
davon ab, schau einfach mal in der thread mit den positions-abfragen.
die teile sind etwas flexibler als die internen befehle.
Verfasst: 25.10.2006 22:16
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)