Jump&Run kollision

Übersicht BlitzBasic Allgemein

Neue Antwort erstellen

 

AngelD01

Betreff: Jump&Run kollision

BeitragDi, Feb 17, 2004 14:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Weiss vielleicht jemand vielleicht wie ich am besten die Kollisionsabfrage in einem Jump&Run Spiel stelle? Ich meine wie finde ich raus ob der Spieler gerade auf dem Tile steht, links gegen ein Tile läuft.... Also ob er oben, unten, rechts oder links Kollidiert. Und das auch wenn die Tiles nur ein kleines Stück des Rechteckes ausfüllen? Oder hat jemand vielleicht beispielcode.
Danke
Bye AngelD01

Slayer

BeitragDi, Feb 17, 2004 15:42
Antworten mit Zitat
Benutzer-Profile anzeigen
Ich nehme an das Du das ganze in einer Tileengine mit Array machst und in einer For schleifen laufen läst.

Prüfe in der for schleife ob das Tile rechts,links,oben oder unten schon belegt ist, wenn ja dann eine imagesoverlap() oder imagescollide()
machen.


Vieleicht ist das ein Denkanstoß Wink
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version
 

AngelD01

BeitragDi, Feb 17, 2004 18:57
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Sorry, aber ich versteh nicht ganz wie du das meinst, wie soll ich daran erkennen ob sich die Figur oben, unten, rechts oder ling befindet?
Kannst du mir das wohl nochmal erklären?
Bye
AngelD01

TheProgrammer

BeitragDi, Feb 17, 2004 19:29
Antworten mit Zitat
Benutzer-Profile anzeigen
Der Code:

Code: [AUSKLAPPEN]

; Ein 10X10 - Feld
For Y = 1 To 10
 For X = 1 To 10
  If map(X,Y) = 1 then drawimage wand,X*20,Y*20 ; Wände zeichnen
  If keydown(200) and map(X,Y-spielerY)=0 then spielerY = spielerY - 1
  If keydown(208) and map(X,Y+spielerY)=0 then spielerY = spielerY + 1
  If keydown(203) and map(X-spielerX,Y)=0 then spielerX = spielerX - 1
  If keydown(205) and map(X+spielerX,Y)=0 then spielerX = spielerX + 1
 Next
Next


Ich habe es aber selber noch nicht ausprobiert.
aktuelles Projekt: The last day of human being

Hubsi

BeitragMi, Feb 18, 2004 0:24
Antworten mit Zitat
Benutzer-Profile anzeigen
So mach ich das (ausgehend von Tilegröße 32*32 Pixel und 32*32 Pixel Spielfigurgröße):
Code: [AUSKLAPPEN]
oben=map((spieler_x+16)/32,(spieler_y-2)/32)
rechts=map((spieler_x+32)/32,(spieler_y+16)/32)
unten=map((spieler_x+16)/32,(spieler_y+32)/32)
links=map(spieler_x/32,(spieler_y+16)/32)
mitte=map((spieler_x+16)/32,(spieler_y+16)/32)

Damit kriegst Du die Nummern der Tiles geliefert die sich rund um den Spieler befinden und entsprechend entscheiden was zu tun ist (Spieler kann sich in die und die Richtung bewegen, er steht auf einem besonderen Tile, inmitten eines Powerups, was weiß ich...).
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn...
 

AngelD01

BeitragDo, Feb 19, 2004 14:55
Antworten mit Zitat
Benutzer-Profile anzeigen
Hi!
Alles klar, ich werds mal so probieren, müsste eigendlich gehen.
Desten Dank erstmal
Bye
AngelD01

Neue Antwort erstellen


Übersicht BlitzBasic Allgemein

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group