Optimisation de la récupération des tiles
This commit is contained in:
parent
a6847caf6c
commit
309939e69a
|
@ -28,18 +28,13 @@ class MapManager:
|
|||
# On calcule les coordonnées du chunk
|
||||
coordinates = (x//self.chunk_width, y//self.chunk_height)
|
||||
|
||||
# On transforme les coordonnées globales en coordonnées dans le chunk
|
||||
x %= 16
|
||||
y %= 16
|
||||
|
||||
if coordinates not in layer:
|
||||
return 0
|
||||
|
||||
# On vérifie que le chunk existe
|
||||
if coordinates in layer:
|
||||
chunk = layer[coordinates]
|
||||
|
||||
# On vérifie que la tile demandée existe sinon on répond "vide"
|
||||
if x >= self.chunk_width or x < 0 or y >= self.chunk_height or y < 0:
|
||||
return 0
|
||||
|
||||
# On transforme les coordonnées globales en coordonnées dans le chunk,
|
||||
# On calcule l'index et on renvoie la tile
|
||||
return chunk[x+y*self.chunk_width]
|
||||
return chunk[x % 16 + y % 16 * self.chunk_width]
|
||||
|
||||
# Si on ne trouve pas le chunk, on renvoit "vide"
|
||||
return 0
|
||||
|
|
Loading…
Reference in a new issue