2011-02-26 52 views
1

考慮我們給出了一個等距網格(考慮類似暗黑破壞神的東西)。我們有一些網格的措施,如網格高度,網格寬度和平鋪高度/寬度。 (考慮這個圖像:http://2.bp.blogspot.com/_bazwyKf2FDM/Si2GBwD7kjI/AAAAAAAABvw/bcB-EaMgez4/s1600-h/isometric_grid)。網格的中心單元格爲0,0,分別是等軸向(+ y),等軸向(-y),等軸向(+ x)​​,等軸向(-x)。計算等軸測網格上矩形內包含的單元格

比方說,我們要在網格上的任意位置繪製一個矩形。我們沒有矩形的等軸測位置,而是具有左上角爲0,0和南是y +,右是x +的網格的正常繪製座標。

如果我們有問題的矩形的頂部,左側,高度,寬度 - 我們如何計算矩形底部邊緣交叉的iso單元的數組。

您選擇演示這種語言就足夠了。

回答

1

在一些關於等距編程的文章和書籍中(使用Direct X7進行等距編程,是舊的,但概述了有關問題和技術),他們使用mousemaps。

此外,還有一種將矩形覆蓋的地圖區域渲染成圖像的技術,每個圖塊都獲得一個唯一的顏色(它只是渲染的顏色)。之後,他們檢查圖像中的哪些顏色,然後提取瓷磚列表。

由於您使用的是經典的等角拼塊寬度半高,因此也可能有數學解決方案。不幸的是,建議的算法將嚴重依賴於您的地圖佈局。

The code for a Java based TileSystem can be found here