javascript – 等距引擎绘图问题

我正在尝试用js(canvas)编写游戏引擎.到现在为止还挺好.
我有一个问题,我的世界是菱形的,我从上到下渲染瓷砖.

问题是当我的瓷砖大于1个瓷砖(例如2×2)时会发生这种情况:

房子在瓷砖(2,1)上定义.
左边的岩石放在(1,0)

首先渲染图块(1,0),然后下一个图块是(2,1),因为它位于同一行和右侧.

你怎么解决这个问题?

最佳答案
你应该能够通过将图形分解成更小的部分来避免这个问题 – 网格上每个图块一个.想到它的好方法是这样的:如果你可以从正上方查看网格,每个精灵不应该溢出它们分配给它的单元格的边缘.

例如,下面的这个单元格可能只包含较小立方体所示的房屋的前部:

在某些时候,您可能还需要在同一个单元格中对多个精灵进行微观管理,但在较小的空间中这是相同的概念.

相关文章

前言 做过web项目开发的人对layer弹层组件肯定不陌生,作为l...
前言 前端表单校验是过滤无效数据、假数据、有毒数据的第一步...
前言 图片上传是web项目常见的需求,我基于之前的博客的代码...
前言 导出Excel文件这个功能,通常都是在后端实现返回前端一...
前言 众所周知,js是单线程的,从上往下,从左往右依次执行,...
前言 项目开发中,我们可能会碰到这样的需求:select标签,禁...