В общем хочу сделать подобие движение по игровой карте (как в стратегиях и других играх). Работаю с OnMouseMove. Может я сделал немного глупо, но я растянул карту (Image) на всю её ширину и длину. Другого мне в голову пока, что не пришло.
Вот код движения карты вправо
procedure TForm1.Image1MouseMove(Sender: TObject; Shift: TShiftState; X,
Y: Integer);
begin
if not(PtInRect(Rect(Form1.Left,
Form1.Top,
Form1.Left + Form1.Width-20,
Form1.Top + Form1.Height), ClientToScreen(Point(x, y))))
then Timer1.Enabled := true
else Timer1.Enabled := false;
end;
procedure TForm1.Timer1Timer(Sender: TObject);
begin
If Image1.Left >= 640 - PW then
Image1.Left := Image1.Left - 7;
end;
Но почему-то когда Image двинется немного вправо, то координаты меняются и изображение двигать можно даже на середине.
Что тут можно сделать?
Сообщение отредактировано: Сергей Меркурьев -