考虑我们给出了瓷砖的等距网格(考虑像暗黑破坏神)。我们对网格有一些度量,如网格高度,网格宽度和平铺高度/宽度。请考虑以下图片:
网格的中心单元格为0,0,扩展为iso-north(+ y),iso-south(-y),iso-east(+ x),iso-west(-x)。
假设我们在网格上的任意位置绘制一个矩形。我们没有矩形的等距位置,而是有网格的法线绘制坐标,左上角是0,0,南边是y +,右边是x +。
如果我们有问题矩形的顶部,左侧,高度和宽度 - 我们怎样才能计算出矩形底边交叉的iso-cell数组。
您选择展示此功能的任何语言都足够了。
答案 0 :(得分:1)
在一些关于等距编程的论文和书籍中(使用Direct X7进行等轴编程,是旧的但是概述了问题和技术)他们使用鼠标图。
此外,还有一种技术可将矩形覆盖的地图区域渲染为图像,每个图块都会获得一种独特的颜色(而且它只是渲染的颜色)。之后,他们会检查图像中的颜色,然后提取切片列表。
由于您使用的是经典的等距瓷砖宽度半高,因此也可能存在数学解决方案。不幸的是,建议的算法在很大程度上取决于您的地图布局。