状况
我正在使用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设备中的这个程序不起作用,因为我无法执行拖放操作。我已经在网上看到了一些关于此问题的例子,但我无法找到解决问题的具体方法。
我该怎么办?