Jump&Run kollision
Übersicht

AngelD01Betreff: Jump&Run kollision |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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ß ![]() |
||
AMD2500XP, SB5.1, DX9, 512MB DDR333,
XPPro SP1a,ATI 9800SE 256bit 128MB,B3B, B+ immer die neue Version |
AngelD01 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
---|---|---|
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 |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Hi!
Alles klar, ich werds mal so probieren, müsste eigendlich gehen. Desten Dank erstmal Bye AngelD01 |
||
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group