我有一些项目需要保存,它的所有值都是一个Map。因此,每次用户都可以加载旧地图或创建并保存新地图。但我不确定如何或使用什么流程来保存所有数据。如何保存/加载这些数据?
我
TCube array (1..10000)
Row, Column : integers
NumberOfBlocks : integers
因此,当用户点击保存它应该保存阵列的数据(我不知道它的问题,但不能创建所有10,000个立方体),用3个整数一起。
创建TCUBE数组和整数的完整代码。
procedure TForm2.createMap(r:integer;c:integer);
var
i : integer;
rows,columns,columnssave : integer;
x,y,z : single;
player : tmodel3d;
begin
columns := r;
rows := c;
i:=1;
x := 0;
y := 0;
z := 0;
NumberOfRows := rows;
NumberOfColumns := columns;
camera1.Position.X := rows/2;
camera1.Position.Y := columns/2;
dummy1.Position.X := rows/2;
dummy1.Position.Y := columns/2;
while rows>0 do
begin
columnssave := columns ;
while columns >0 do
begin
CreateCube[i]:=tcube.Create(self);
CreateCube[i].Visible := true;
CreateCube[i].Position.x := x;
CreateCube[i].Position.Y := y;
CreateCube[i].Position.Z := z;
CreateCube[i].Material.Texture.CreateFromFile(gamedir+'\pics\Grass.bmp');
CreateCube[i].Material.Modulation := TTextureMode.tmReplace;
CreateCube[i].Parent := viewport3d1;
CreateCube[i].OnClick := cubeClick;
CreateCube[i].OnMouseDown := mousedown;
y:= y+1;
i:=i+1;
//z:=z-1;
columns := columns -1;
end;
y:=0;
x:= x+1;
z:=0;
columns := columnssave;
rows:= rows-1;
end;
totalblocks := i;
setblocks := false;
label2.Text := inttostr(totalblocks);
end;
感谢 格伦
你能展示真实的代码吗? – MBo
@MBo目前我没有代码来保存或加载,只创建新的...因为我不知道如何保存/加载,但添加了代码来显示我如何创建数组 –
你想如何存储信息?什么类型的文件?有什么要求? –