【发布时间】:2016-11-06 13:36:59
【问题描述】:
情况
我正在使用 Delphi Seattle,我想开发一个非常简单的游戏。
正如你在这里看到的,我在这里有一个网格布局,灰色方块是TButtons。我的目标是能够(例如)将带有数字 2 的左上角按钮移动到下面带有数字 2 的另一个按钮上方。我编写了以下代码:
procedure TForm1.Button1DragDrop(Sender: TObject; const [Ref] Data: TDragObject;
const [Ref] Point: TPointF);
var t,d: TButton;
begin
T := TButton(Sender);
D := TButton(Data.Source);
T.data := T.data + D.data; //sum 2 + 2
//... other code, not relevant ...
end;
procedure TForm1.Button1DragOver(Sender: TObject; const [Ref] Data: TDragObject;
const [Ref] Point: TPointF; var Operation: TDragOperation);
begin
if ((Sender is TButton) and (Data.Source is TButton) and not(Sender = Data.Source)
and (TButton(Sender).Text = TButton(Data.Source).Text) and (TButton(Data.Source).Text <> '')) then
begin
operation := TDragOperation.Move;
end
else
begin
operation := TDragOperation.None;
end;
end;
当我将它作为 32 位 Windows 程序运行时,它运行良好。我可以单击数字为 2 的按钮,然后在另一个数字为 2 的按钮上执行拖放操作。
问题
我的 Android 设备中的这个程序不起作用,因为我无法执行拖放操作。我已经在网上看到了一些关于此的示例,但我找不到针对我的问题的具体解决方案。
我能做什么?
【问题讨论】:
标签: android delphi firemonkey delphi-10-seattle