use*_*553 8 javascript isometric
我有一个基于图块的等距世界,我可以通过使用以下计算来计算特定(鼠标)坐标下面的哪个图块:
function isoTo2D(pt:Point):Point{
var tempPt:Point = new Point(0, 0);
tempPt.x = (2 * pt.y + pt.x) / 2;
tempPt.y = (2 * pt.y - pt.x) / 2;
return(tempPt);
}
function getTileCoordinates(pt:Point, tileHeight:Number):Point{
var tempPt:Point = new Point(0, 0);
tempPt.x = Math.floor(pt.x / tileHeight);
tempPt.y = Math.floor(pt.y / tileHeight);
return(tempPt);
}
Run Code Online (Sandbox Code Playgroud)
(摘自http://gamedevelopment.tutsplus.com/tutorials/creating-isometric-worlds-a-primer-for-game-developers--gamedev-6511,这是一个flash实现,但数学是相同的)
在这些情况下,由于一些具有较高高度的瓷砖的高度,后面的瓷砖(或瓷砖的一部分)被遮盖并且不应该由鼠标选择,而是选择前面的瓷砖它的.如何在考虑到瓷砖高度的情况下通过鼠标坐标计算瓷砖?
我正在使用javascript和canvas实现.
| 归档时间: |
|
| 查看次数: |
892 次 |
| 最近记录: |