3

地図に六角形を描いています。何らかの理由で、1行しか作成されません。私のループは正しいと思います。オンの場合

glVertex3f(((sin(i/6.0*2*PI))/10)+RowOffset,((cos(i/6.0*2*pi))/10)+CollumnOffset,-2);

交換するRowOffsetCollumnOffset 、1つの列が表示されます。

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;

また、私の左/上は-1対1です

4

1 に答える 1

5

ループ内の行をリセットしていません.IHMOは次のようになります

  RowOffset:= -0.9;
  Row := 0;
      while Row < TotalRow do
于 2013-02-20T09:51:52.657 に答える