【发布时间】:2013-09-08 06:03:11
【问题描述】:
目前我有块(3d 立方体),当您单击一个时,它将在其上创建另一个块。像这样
procedure TForm2.cubeClick(sender: TObject);
var
cube: Tcube;
begin
cube := Sender as Tcube;
if setblocks then
begin
totalblocks := totalblocks +1 ;
CreateCube[totalblocks]:=tcube.Create(self);
CreateCube[totalblocks].Visible := true;
CreateCube[totalblocks].Name := 'cubename'+inttostr(totalblocks);
CreateCube[totalblocks].Position.x := cube.Position.X;
CreateCube[totalblocks].Position.Y := cube.Position.y;
CreateCube[totalblocks].Position.Z := cube.Position.Z -1;
CreateCube[totalblocks].Material.Texture.CreateFromFile(gamedir+'\pics\'+blocktype);
CubeData[totalblocks] := blocktype;
CreateCube[totalblocks].Material.Lighting := false;
CreateCube[totalblocks].Material.Modulation := TTextureMode.tmReplace;
CreateCube[totalblocks].Parent := viewport3d1;
CreateCube[totalblocks].OnClick := cubeClick;
CreateCube[totalblocks].OnMouseDown := mousedown;
end;
label2.Text := inttostr(10000 - totalblocks);
end;
我遇到的问题是,如果我点击得足够快,它会停止添加块,不确定原因。但我想如果我可以在整个过程完成之前禁用鼠标单击,那么它会处理它。这是你可以在 firemonkey 中做的事情吗,有人知道怎么做吗?
谢谢 格伦
【问题讨论】:
标签: delphi delphi-xe2 firemonkey