我正在尝试创建一个六角形地图,如下所示:
http://files.slembcke.net/misc/procedural/hex_tiles.png
但是我的功能将列表中的tile X(行)和Y(列)索引转换为屏幕位置时遇到了一些问题:
public static Vector2 GetDisplayCoordOfTile(GameTile t, Texture2D texture)
{
Vector2 screenPadding = new Vector2(2, 2);
float ypos = (t.Column * (texture.Height + 2)) - (t.Row * texture.Height / (float)2) + screenPadding.Y;
float xpos = (t.Row * (texture.Width)) + screenPadding.X;
return new Vector2(xpos, ypos);
}
有人知道事情发生了什么事情,我不能让我的想法包围这个想法,因为坐标系在常规数组中的思维差异
答案 0 :(得分:0)
这里有一个关于如何绘制六边形地图的精彩教程: http://www.xnaresources.com/default.asp?page=Tutorial:TileEngineSeries:3
此外,您可以在此处获得更多有关问题的问题:https://gamedev.stackexchange.com/