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

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

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

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

Отправил Вс, 03/04/2018 - 22:00

Как сделать регулировку скорости движения мяча?

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

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

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

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

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

  • 90m lesbian pantyhose pb Classic Interracial Sarah Young Takes a Big Black Cock. Hot Asian With Perky Nipples Masturabting. Sexy Blonde, Anal Big Black Cock Breaking My Ass And Taking A Shower. Porn photos of blondes Attractive russian and canadian singles Huge Cum After Days. She saw some teen...
  • [b]Продам iphone 8 (идеальная реплика) в отличном состоянии. [/b] Телефон новый, технических нареканий нет, работает хорошо. [img]http://www.picshare.ru/uploads/180624/E9V10k2k3t.jpg[/img] [b]Полный коплект: коробка, наушники, зарядка.[/b] Продаю срочно, поэтому отдам с большой скидкой. [b]Всего...
  • кредит онлайн взять кредит в Украине ccloan деньги в долг gloriafin деньги в долг moneyboom деньги в долг soscredit деньги в долг dinero деньги в долг e-cash деньги в долг

Счетчики