Main forum > Tutorials

2D Tile Engine Tutorial, Tilekollision und Scrolling

<< < (2/4) > >>

Kitty Hello:
Pixelgenau mit dem Boden gibt oft Probleme, weil man dann an einem Pixel h?ngen bleiben kann. Hatte ich in SEUCK ?fter.

Orpheus_2003:
Hi.

Nein. Definitiv nicht. Ich hab keine Probleme mit h?ngen bleiben am Boden.
K?nnt es ja gerne mal testen. Siehe signatur.

Aber.
Welche L?sung gibt es hier.
Wie schon erw?hnt. Das Level wird mit einem Offset (-32 / +32) gescrollt.
Ein Abfrage der Tiles unter dem player ist seehr ungenau.
Ich w?sste nicht wie man das ohne Pixelkollision genau herkriegt?

Gru? M

Kitty Hello:
Kein - wirklich "kein" Jump&Run hat pixelgenaue Kollisionen mit dem Hintergrund. Das l?uft alles ?ber die Tile-Koordinaten.

D2O:
Hmmm,
ich hab mal das hier aus dem Tutorial um SPRCOLL erweitert.

--- Code: GLBasic ---        /// Das hier----------------------------------------------------------------------<<<<<<<<<<<<<<<<<<<<<<<<<
                        IF y1+1 <= endey
                                IF layer1[x1][y1] = -1 AND layer1[x1][y1+1] = 1
                                        DRAWRECT posx + x1*tile,posy + y1 * tile,tile,tile,RGB(0xff, 0x80, 0x00)
                                       
                                        /// mit SPRCOLL()
                                                IF SPRCOLL(tile1,posx + x1*tile, posy + y1 * tile,player,posx + x1*tile, posy + y1 * tile) // <<<<<<<<<<
                                                        ctrl_u = 1
                                       
                                                ENDIF //<<<<<<<<<<<<<<<<<<
                                ENDIF

                                IF layer1[x1][y1] = -1 AND layer1[x1][y1+1] = 0 THEN    ctrl_u = 0
                                ENDIF
        ///  ______-------------------------------------------------------------------_______<<<<<<<<<<<<<<<<<<<<<<

 
Es kann dann aber immer noch ?berschneidungen mit dem boden darunter links und darunter rechts geben, so das der player unter umst?nden
immer noch durchlaufen kann.
Man sollte aber die Position des Players zwischenspeichern und dann zur?cksetzen.
Oder man pr?ft zus?tzlich die felder links und recht darunter mit.


--- Code: GLBasic ---// links darunter
IF layer1[x1-1][y1+1]......

--- Code: GLBasic ---// rechts darunter
IF layer1[x1+1][y1+1]......

Schranz0r:
SPRCOLL w?rde ich niemals bei Tilemaps verwenden, das gibt immer probleme und ist sau langsam (Bleibst evtl schon bei einen Pixel h?ngen, kann echt nervig sein...)


Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version