現在、ブロック (3d キューブ) があります。1 つをクリックすると、その上に別のブロックが作成されます。そのようです
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でできることですか、誰でも方法を知っていますか?
ありがとうグレン