Delphi 计算行和列
我正在地图上画六边形。出于某种原因,它只会创建一行。我相信我的循环是正确的。如果打开Delphi 计算行和列,delphi,opengl,hexagonal-tiles,Delphi,Opengl,Hexagonal Tiles,我正在地图上画六边形。出于某种原因,它只会创建一行。我相信我的循环是正确的。如果打开 glVertex3f(((sin(i/6.0*2*PI))/10)+RowOffset,((cos(i/6.0*2*pi))/10)+CollumnOffset,-2); 我交换RowOffset和CollumnOffset,然后得到一列 procedure TFCreatemap.menuArea; var I: Integer; Row,Collumn: Integer; RowOffset,
glVertex3f(((sin(i/6.0*2*PI))/10)+RowOffset,((cos(i/6.0*2*pi))/10)+CollumnOffset,-2);
我交换RowOffset
和CollumnOffset
,然后得到一列
procedure TFCreatemap.menuArea;
var
I: Integer;
Row,Collumn: Integer;
RowOffset,CollumnOffset: double;
TotalRow,TotalCollumn:integer;
begin
Row := 0;
Collumn:= 0;
CollumnOffset := -0.9;
TotalRow := 11;
TotalCollumn := 11;
while Collumn < TotalCollumn do
begin
CollumnOffset := CollumnOffset+0.4;
RowOffset:= -0.9;
while Row < TotalRow do
begin
RowOffset := RowOffset+ 0.2;
glBegin(GL_POLYGON);
for I := 0 to 6 do
begin
glVertex3f(((sin(i/6.0*2*PI))/10)+RowOffset,((cos(i/6.0*2*pi))/10)+CollumnOffset,-2);
end; {for}
glEnd;
Row:= Row+1;
end; {end collumns with}
Collumn:= Collumn+1;
end; {end rows with}
end;
过程TFCreatemap.menuArea;
变量
I:整数;
行,Collumn:整数;
行偏移,行偏移:双精度;
TotalRow,TotalCollugmn:整数;
开始
行:=0;
共谋:=0;
CollumnOffset:=-0.9;
总计行:=11;
总数mn:=11;
而Collumn
另外,我的左/右上方是-1对1,您没有重置循环中的行,IHMO它应该是这样的
RowOffset:= -0.9;
Row := 0;
while Row < TotalRow do
RowOffset:=-0.9;
行:=0;
而Row