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

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

Расположите на форме два компонента 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.

СКАЧАТЬ ПРОГРАММУРазмер
Демо-урок: Мячик, отскакивающий от границ окна (927)387 кб

Отправил Пнд, 04/27/2015 - 15:43

удивительно простой код программы
в отличии от многих подобных
на просторах рунета

Отправил Ср, 09/09/2015 - 10:40

Большое спасибо! Действительно самый простой пример.

Последние комментарии

Счетчики