제가 요번에 하는 것은요 이미지를 놓고 버튼을 클릭하면,
그 이미지가 해당 방향으로 움직이는 것입니다.
그래서 그 이미지의 기준 좌표를 두고 각 방향 클릭시마다 해당 좌표만
증가 또는 감소 시켜서 이미지를 계속 움직이는 것입니다.
그래서 시작버튼을 누르면 초기 위치를 주고요,
각 방향버튼을 클릭할때마다 X,Y좌표를 증가 감소 시켰습니다.
그래서 시작버튼의 이벤트 핸들러에다가 각 방향버튼의 이벤트 핸들러를
포함하는 것까지는 했는데, 변수데이터는 공유가 안되더군요....
이걸 함수를 쓰듯이 데이터를 같이 쓸수는 없을까요?
함수나 전역변수를 쓰지 않고 말입니다.
procedure TForm1.StartClick(Sender: TObject);
var
x1,x2,y1,y2:Integer;
Position:TPoint;
begin
Foward.OnClick(Sender); { 이미지를 위로이동}
Backward.OnClick(sender);
Left.OnClick(sender);
Right.OnClick(sender);
x1:=150; {초기 위치설정}
y1:=150;
x2:=200;
y2:=200;
Image1.Canvas.FillRect(ClientRect);
Position:=Image1.Canvas.PenPos;
Image1.Canvas.MoveTo(x1,y1);
Image1.Canvas.Rectangle(x1,y1,x2,y2);
end;
procedure TForm1.FowardClick(Sender: TObject);
var
x1,x2,y1,y2:Integer;
Position:TPoint;
begin
Position:=Image1.Canvas.PenPos;
Image1.Canvas.FillRect(ClientRect);
Position:=Image1.Canvas.PenPos;
Image1.Canvas.MoveTo(x1,y1);
x2 := x1 + 50;
y1 := y1 - 50;
y2 := y1 + 50;
Image1.Canvas.Rectangle(x1,y1,x2,y2);
end;