Kollision bei Tilemap Funktionsweise ?

Übersicht BlitzBasic Beginners-Corner

Neue Antwort erstellen

UnrealRussian

Betreff: Kollision bei Tilemap Funktionsweise ?

BeitragMi, Nov 10, 2010 13:43
Antworten mit Zitat
Benutzer-Profile anzeigen
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.

Xeres

Moderator

BeitragMi, Nov 10, 2010 13:50
Antworten mit Zitat
Benutzer-Profile anzeigen
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
T
HERE IS NO FAIR. THERE IS NO JUSTICE. THERE IS JUST ME. (Death, Discworld)

Blitzprogger

BeitragMi, Nov 10, 2010 14:51
Antworten mit Zitat
Benutzer-Profile anzeigen
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. Wink

Dottakopf

BeitragDo, Nov 11, 2010 12:29
Antworten mit Zitat
Benutzer-Profile anzeigen
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!

Neue Antwort erstellen


Übersicht BlitzBasic Beginners-Corner

Gehe zu:

Powered by phpBB © 2001 - 2006, phpBB Group