Kollision bei Tilemap Funktionsweise ?
Übersicht

![]() |
UnrealRussianBetreff: Kollision bei Tilemap Funktionsweise ? |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hey kann mir bitte jemand erklären wie die Kollision funktioniert bei einer Tilemap ?
Ich meine wen ich jetzt mit einem Editor eine Tilemap erstelle als beispiel ein Simples Rechteck. Das Rechteck ist mit einer Mauerumrandet damit man nicht auserhalb der map laufen kann. Sonst ist das Rechteck gefüllt mit einem Grass Tile. Wenn ich eine Kollissions abfrage mache wie kann ich das machen das der Spieler über das Gras Tiole laufen kann aber durch die Mauer nicht ? Ich hab mir Robs tut durchgelesen der hat das ja so gemacht das wenn das Tile größer ist als. Aber ich will mein Tileset nicht Ordnen so das die Tiles die eine Kollision haben ganz hinten hinkommen. |
||
![]() |
XeresModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Vor dem Bewegen testen ob das Tile (a) zu den Tiles gehört die begehbar (oder unbegehbar) sind oder (b) einen zweiten Layer verwenden, der diese Information enthält. Das ist aber Speicherintensiver.
Geordnete Tiles wären aber tatsächlich am einfachsten und am sinnvollsten für den Anfang. |
||
Win10 Prof.(x64)/Ubuntu 16.04|CPU 4x3Ghz (Intel i5-4590S)|RAM 8 GB|GeForce GTX 960
Wie man Fragen richtig stellt || "Es geht nicht" || Video-Tutorial: Sinus & Cosinus THERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld) |
![]() |
Blitzprogger |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich habe das bis jetzt immer so gelöst.
Pseudocode Code: [AUSKLAPPEN] speed_x = 0
speed_y = 0 if mousedown (203) then speed_x = speed_x - 1 if mousedown (205) then speed_x = speed_x + 1 if mousedown (200) then speed_y = speed_y - 1 if mousedown (208) then speed_y = speed_y + 1 if Mapcollision ((player_x+speed_x)/64,player_y/64) = 1 then speed_x = 0 if Mapcollision (player_x/64,(player_y+speed_y)/64) = 1 then speed_y = 0 ; statt /64 einfach die Grösse deiner Tiles in Pixel player_x = player_x + speed_x player_y = player_y + speed_y Versuche einmal diesen Code zu begreifen. So sollte es auf jeden Fall funktionieren. mfg, Blitzprogger |
||
Mein aktuelles Projekt, Irnithal: http://www.blitzforum.de/worklogs/415/
Unfreiwilliger Gewinner des BAC# 115. ![]() |
![]() |
Dottakopf |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi
Hier findest du ein tutorial dazu. Ich habe auch versucht ziemlich weit unten die Pixel to Pixel Bewegung zu zeigen. Das Tut sollte dir gut weiterhelfen. https://www.blitzforum.de/foru...php?t=5286 Gruß Dottakopf |
||
Rechtschreibfehler gelten der allgemeinen Belustigung! |
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group