kollisionsproblem

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

rambo256

Betreff: kollisionsproblem

BeitragDo, Mai 06, 2004 18:59
Antworten mit Zitat
Benutzer-Profile anzeigen
habe da ein kollisionsproblem...
Ich möchte einen Spieler (sowat wie GTA) vonner Wand "apprallen" lassen oder einfach das er nicht dadurch kann.Jetzt hab ich mir gedacht,das kann man ja auich mit der old_x und old_y chose machen,leider funzt das nicht bei mir...
Dann hab ich diesen Versuch ausprobiert:

Code: [AUSKLAPPEN]
For x=0 To Max_tiles_X
   For y=0 To Max_tiles_Y
      If ImagesCollide(Player_gfx_steht,Player_X,Player_y,0,Town1_gfx_2,x*Tile_width,y*tile_height,tile_matrix(2,x,y))=True  Then
         col_winkel = Winkel(Player_X,Player_Y,x*tile_width,y*tile_height)
         Player_X = Player_X - Cos(col_winkel)
         Player_Y = Player_Y - Sin(col_winkel)
         col_1 = True
         collide = True
      EndIf


Nur leider klappt das nicht von allen Seiten....
Könnte jemand vll einen besseren Lösungsvorschlag abgeben oder nur ein beispiel wie man das mit old_x und old_y richtig macht?

THX

rambo256

BeitragDo, Mai 06, 2004 20:46
Antworten mit Zitat
Benutzer-Profile anzeigen
oder einfacher gesagt:
wie funktioniert allgemein eine solche kollisionsabfrage?

Michi1988

BeitragDo, Mai 06, 2004 20:54
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich würde es mit Types machen.

Habe vorhin schon versucht, ein Beispiel zu
posten. Aber so auf die schnelle is mir
nichts gelungen. Würde jeden Schritt nen neuen Type
machen und sobald der Type älter als 20 Schritte ist, würde ich ihn löschen.

Sobald du nun mit einem Gegenstand kollidierst, lässt du ih einfach schritte zurück gehen.

Normalerweise müsste das mit Old_x und Old_y auch gehen.

rambo256

BeitragDo, Mai 06, 2004 21:01
Antworten mit Zitat
Benutzer-Profile anzeigen
also mit oldx und oldy habe ich das so gemacht...

Code: [AUSKLAPPEN]

repeat
.
.
.
old_X = player_X
old_Y = Player_Y
.
kollisionsabfrage then
   Player_X = old_X
   Player_Y = old_Y
endif
.
.
until keydown(1)
so müsste es doch klappen oder?

Michi1988

BeitragDo, Mai 06, 2004 21:04
Antworten mit Zitat
Benutzer-Profile anzeigen
Code: [AUSKLAPPEN]

repeat
.
.
.
old_X = player_X
old_Y = Player_Y
.
.Hier müssen die keydowns rein.
.
kollisionsabfrage then
   Player_X = old_X
   Player_Y = old_Y
endif
.
.
until keydown(1)

rambo256

BeitragDo, Mai 06, 2004 21:15
Antworten mit Zitat
Benutzer-Profile anzeigen
thx,werde ich mal ausprobiern...

rambo256

BeitragDo, Mai 06, 2004 21:18
Antworten mit Zitat
Benutzer-Profile anzeigen
Jo klappt,THX für deine Hilfe!!!

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group