Schönen guten Abend,
ich sitzte mal wieder an einem Spiel. An einem 2D Sandbox Game. Nun programmiere ich gerade den Spieler, und ich programmiere seine Collision Detection mit der Welt. Alle Blöcke der Welt sind in einem zweidimensionalen Array gespeichert. Also alle haben eine x und eine Y Koordinate und wenn sie gerendert werden werden einfach diese X und Y Positionen mit 16 multipliziert. Also ist der Block an Array Position 0,0 in der World an der Position 0,0 und der Block im Array mit 1,1 ist dann in der World an den X und Y Koordinaten 16, 16 usw.
Nun habe ich diese für die Collision Detection immer in "Chunks" aufgeteilt und dann bin ich alle Blöcke dieses Chunks durchgegangen indem der Spieler gerade steht und have auf Collisions Abfragen geprüft ich wollte mal fragen ob es nicht einen einfachere Metjode gibt in der man dierekt mit Side Up und Down Offsets arbeitet und dann direkt die Blöck um den Spieler herum bekommt (Der Spieler ist 4 Blöcke hoch circa und 3.5 Blöcke breit) ?
Danke schonmal im Vorraus,
GentleXD
ich sitzte mal wieder an einem Spiel. An einem 2D Sandbox Game. Nun programmiere ich gerade den Spieler, und ich programmiere seine Collision Detection mit der Welt. Alle Blöcke der Welt sind in einem zweidimensionalen Array gespeichert. Also alle haben eine x und eine Y Koordinate und wenn sie gerendert werden werden einfach diese X und Y Positionen mit 16 multipliziert. Also ist der Block an Array Position 0,0 in der World an der Position 0,0 und der Block im Array mit 1,1 ist dann in der World an den X und Y Koordinaten 16, 16 usw.
Nun habe ich diese für die Collision Detection immer in "Chunks" aufgeteilt und dann bin ich alle Blöcke dieses Chunks durchgegangen indem der Spieler gerade steht und have auf Collisions Abfragen geprüft ich wollte mal fragen ob es nicht einen einfachere Metjode gibt in der man dierekt mit Side Up und Down Offsets arbeitet und dann direkt die Blöck um den Spieler herum bekommt (Der Spieler ist 4 Blöcke hoch circa und 3.5 Blöcke breit) ?
Danke schonmal im Vorraus,
GentleXD