Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
logger = logging.getLogger('isometric')
def vector3_to_iso(vector3):
offset = 0, 0
return ((vector3[0] - vector3[1]) + offset[0],
((vector3[0] + vector3[1]) >> 1) - vector3[2] + offset[1])
def vector2_to_iso(vector2):
offset = 0, 0
return ((vector2[0] - vector2[1]) + offset[0],
((vector2[0] + vector2[1]) >> 1) + offset[1])
class IsometricBufferedRenderer(BufferedRenderer):
""" TEST ISOMETRIC
here be dragons. lots of odd, untested, and unoptimised stuff.
- coalescing of surfaces is not supported
- drawing may have depth sorting issues
"""
def _draw_surfaces(self, surface, rect, surfaces):
if surfaces is not None:
[(surface.blit(i[0], i[1]), i[2]) for i in surfaces]
def _initialize_buffers(self, view_size):
""" Create the buffers to cache tile drawing
:param view_size: (int, int): size of the draw area