S
siso
Unregistered / Unconfirmed
GUEST, unregistred user!
我在学习五子棋程序,界面中加了两个image,image2的picture属性为棋盘的图片,
image1的picture属性为棋子 。为了效果,我让棋子图片(image1)随鼠标移动。
大概代码如下:这时由于移动的棋子图片image1挡住了自己,所以没办法下子(填充image1)。
除非修改坐标,例如x,y分别减30才可以,如下:
请问有什么办法不改变x,y坐标也能实现(不然移动的棋子就和下(填充)的位置看起来不一致的感觉了)。
我也不知这样加载图形对否,或者应该怎样加载.
谢谢!!
procedure TForm1.Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
image1.left:=x; 这里改为image1.left:=x-30;
image1.Top:=y; 这里改为image1.left:=y-30;
end;
procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
image2.Canvas.Draw(x,y,image1.picture.Graphic);
end;
image1的picture属性为棋子 。为了效果,我让棋子图片(image1)随鼠标移动。
大概代码如下:这时由于移动的棋子图片image1挡住了自己,所以没办法下子(填充image1)。
除非修改坐标,例如x,y分别减30才可以,如下:
请问有什么办法不改变x,y坐标也能实现(不然移动的棋子就和下(填充)的位置看起来不一致的感觉了)。
我也不知这样加载图形对否,或者应该怎样加载.
谢谢!!
procedure TForm1.Image2MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
image1.left:=x; 这里改为image1.left:=x-30;
image1.Top:=y; 这里改为image1.left:=y-30;
end;
procedure TForm1.Image2MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
image2.Canvas.Draw(x,y,image1.picture.Graphic);
end;