Последние записи
- TChromium (CEF3), сохранение изображений
- Как в Delphi XE обнулить таймер?
- Изменить цвет шрифта TextBox на форме
- Ресайз PNG без потери прозрачности
- Вывод на печать графического файла
- Взаимодействие через командную строку
- Перенести программу из Delphi в Lazarus
- Определить текущую ОС
- Автоматическая смена языка (раскладки клавиатуры)
- Сравнение языков на массивах. Часть 2
Интенсив по Python: Работа с API и фреймворками 24-26 ИЮНЯ 2022. Знаете Python, но хотите расширить свои навыки?
Slurm подготовили для вас особенный продукт! Оставить заявку по ссылке - https://slurm.club/3MeqNEk
Online-курс Java с оплатой после трудоустройства. Каждый выпускник получает предложение о работе
И зарплату на 30% выше ожидаемой, подробнее на сайте академии, ссылка - ttps://clck.ru/fCrQw
31st
Май
Как Image переместить к точке по прямой?
Posted by Chas under Пост-обзор
Суть моей проблемы в том, что имеется Image с определенными координатами начала движения, и есть координаты точки окончания его движения. Мне надо сделать так, что Image двигался в таймере по прямой от точки начала движения к точке конца. Не подскажете, как сделать?
phomm:
var sxpos, fxpos, sypos, fypos: integer;
cx, cy, dx, dy : extended;
...
procedure button1click(sender : tobject);
begin
sxpos := image1.left;
sypos := image1.top;
fypos := strtoint(Edit1.Text);
fxpos := strtoint(Edit1.Text); // где-то уже получили координаты, рассчитываем смещение
if abs(fxpos - sxpos) > abs(fypos - sypos)
then begin
dy := (fypos - sypos)/abs(fxpos - sxpos);
dx := 1;
end
else begin
dx := (fxpos - sxpos)/abs(fypos - sypos);
dy := 1;
end;
cy := sypos;
cx := sxpos;
timer1.enabled := true;
end;
procedure timer1.timer(sender : tobject);
begin
cy := cy + dy;
cx := cx + dx;
image1.left := round(cx);
image1.top := round(cy);
if ( image1.left = fxpos) and ( image1.top = fypos)
then Timer2.Enabled := false;
end;
Похожие статьи
Купить рекламу на сайте за 1000 руб
пишите сюда - alarforum@yandex.ru
Да и по любым другим вопросам пишите на почту
пеллетные котлы
Пеллетный котел Emtas
Наши форумы по программированию:
- Форум Web программирование (веб)
- Delphi форумы
- Форумы C (Си)
- Форум .NET Frameworks (точка нет фреймворки)
- Форум Java (джава)
- Форум низкоуровневое программирование
- Форум VBA (вба)
- Форум OpenGL
- Форум DirectX
- Форум CAD проектирование
- Форум по операционным системам
- Форум Software (Софт)
- Форум Hardware (Компьютерное железо)