Падение с ускорением

Падение с ускорением

Программа демонстрирует процесс падения мячика с ускорением.

Расположите на форме два компонента Shape1 и Shape2: TShape с вкладки Additional и компонент Timer1: TTimer с вкладки System, а также Button1: TButton

В инспекторе объектов (Object Inspector) выставьте начальные значения для каждого компонента

Shape2
 Left: 88 (отступ слева)
 Top: 8  (отступ сверху)
 Width: 17  (ширина шарика)
 Height: 17  (высота шарика)
 Shape: stCircle;  (вид фигуры - круг)

Shape1
 Left: 65 (отступ слева)
 Top: 24  (отступ сверху)
 Width: 63  (ширина доски)
 Height: 9  (высота доски)
 Shape: stRectangle;  (вид фигуры - прямоугольник)

Timer1
 Enabled: False;
 Interval: 100 (скорость вызова процедуры движения 0.1 c)

Теперь в инспекторе объектов переключитесь на вкладку Events и для компонента Timer1 задайте название процедуры OnTimer (лучше это сделать автоматически кликнув два раза в пустом поле)

procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Shape2.Top := Shape2.Top + G; // приращение движения
  G := G + 1; // приращение ускорения
  // проверка на достижения нижней границы формы
  if Shape2.Top > Form1.ClientHeight - 2 * Shape2.Height then
      Timer1.Enabled := false;
end;

Аналогично выберите кнопку Button1 и создайте процедуру на событие OnClick

procedure TForm1.Button1Click(Sender: TObject);
begin
  Shape1.Visible := false;
  Timer1.Enabled := true;
  Button1.Enabled := false;
  Shape2.Top := 8;
  G := 1;
end;

В окне кода не забыть в разделе Var прописать

var
  Form1: TForm1;
  G : Integer;

Запустите программу. Run.

СКАЧАТЬ ПРОГРАММУРазмер
Демо-урок: Падение с ускорением (368)912 кб

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

  • http://ziter.ru/index.php?productID=3751 http://eur-style.ru/product/713 http://samaram.ru/product/nemnogo-o-napolnyh-chasah http://salonturov.ru/index.php?productID=43345
  • What Do Installment Loans Present Themselves? In case if one feels need in ready money straight away, the best method to get it is to turn to installment loans that have historically been known as the most efficient and timely for enormous buyings. Installment loan constitutes a close-end loan,...
  • ОСТАЛОСЬ ВСЕГО 15 ДЕНЕЖНЫХ БОНУСОВ! ВЫПЛАЧЕНО БОЛЕЕ 4 000 000 РУБЛЕЙ ! ---http://link.futbol/8lko

Счетчики