Мячик, отскакивающий от границ окна

Расположите на форме два компонента Shape1: TShape с вкладки Additional и Timer1: TTimer с вкладки System.
В инспекторе объектов (Object Inspector) выставьте начальные значения для каждого компонента
Shape1 Left: 10 (отступ слева) Top: 10 (отступ сверху) Width: 20 (ширина шарика) Height: 20 (высота шарика) Shape: stCircle; (вид фигуры - круг)
Timer1 Interval: 30 (скорость вызова процедуры движения 0.030 c)
Теперь в инспекторе объектов переключитесь на вкладку Events и для компонента TTimer задайте название процедуры OnTimer (лучше это сделать автоматически кликнув два раза в пустом поле)
procedure TForm1.Timer1Timer(Sender: TObject); begin // движение - изменение положения шарика Shape1.Left := Shape1.Left + dx; Shape1.Top := Shape1.Top + dy; // проверка на выход за границы формы if (Shape1.Left + Shape1.Width >= Form1.ClientWidth) or (Shape1.Left <= 1) then dx := -dx; // если достигли границы меняем направление if (Shape1.Top + Shape1.Height >= Form1.ClientHeight) or (Shape1.Top <= 1) then dy := -dy; // если достигли границы меняем направление end;
В окне кода не забыть проинициализировать значение переменных dx, dy начальными значениями. В разделе Var прописываем
var Form1: TForm1; dx: integer = 5; // приращение движения по X, Y dy: integer = 5;
Запустите программу. Run.
СКАЧАТЬ ПРОГРАММУ | Размер |
---|---|
Демо-урок: Мячик, отскакивающий от границ окна (1029) | 387 кб |