Родились сегодня:
wadim21


Лидеры рейтинга

ID: 401284

Михаил Александров

Советник

378

Россия, Санкт-Петербург


ID: 259041

Алексеев Владимир Николаевич

Мастер-Эксперт

339

Россия, пос. Теплоозёрск, ЕАО


ID: 401888

puporev

Профессор

215

Россия, Пермский край


ID: 405338

vovaromanov.jr

1-й класс

116


ID: 400669

epimkin

Профессионал

111


ID: 242862

Hunter7007

Мастер-Эксперт

29

Россия, Омск


ID: 137394

Megaloman

Мастер-Эксперт

25

Беларусь, Гомель


8.10.2

13.10.2021

JS: 2.10.2
CSS: 4.6.0
jQuery: 3.6.0
DataForLocalStorage: 2021-10-23 05:16:01-standard


Создание программ на языках Pascal, Delphi и Lazarus.

Администратор раздела: Зенченко Константин Николаевич (Старший модератор)

Консультация онлайн # 159872

Раздел: Pascal / Delphi / Lazarus
Автор вопроса: Nival
Дата: 07.02.2009, 18:17 Консультация закрыта
Поступило ответов: 0

Здравствуйте!
Необходимо сделать простую анимацию shape1 из координат x1 y1 до x2 y2
Подскажите пожалуйста, как можно реализовать это?

Ответов пока не поступило
Мини-форум консультации # 159872

q_id

Вадим Исаев ака sir Henry

Мастер-Эксперт

ID: 425

1

= общий =    07.02.2009, 19:44

Можно в цикле менять координаты от Х1 до Х2. Ну и У соответственно. В самом цикле сделать задержку в полсекунды (Sleep(500)), а то компьютеры нынче сильно быстрые. smile

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

неизвестный

2

= общий =    07.02.2009, 19:49

необходимо написать уравнение линии??

Monah

3

= общий =    07.02.2009, 19:55

ну да это на ответ даже не тянет. Меняйте значение Left и Top у компонента. Координаты задаются относительно формы.

q_id

Вадим Исаев ака sir Henry

Мастер-Эксперт

ID: 425

4

= общий =    07.02.2009, 20:05

Если движение компонента должно идти по линии, то да, линии. Вы же не написали, какая именно должна быть у Вас анимация. Поэтому я изложил Вам только принцип - меняете координаты компонента в пределах заданных от Х1 до Х2. Это будет движение по горизонтали. Если от У1 до У2 - это будет движение по вертикали. Скомбинируете и то и другое - движение будет такое же комбинированное.
Для Вас сейчас главное определиться, какое именно движение Shape должно быть. Возьмите миллиметровку или бумагу в клеточку, нарисуйте на ней форму. На фоме нарисуйте Shate в своих начальных координатах. Обозначте конечную точку его движения и постройте график. По этому графику уже вывести уравнение движения - раз плюнуть.

=====
Я только в одном глубоко убеждён - не надо иметь убеждений! :)

неизвестный

5

= общий =    07.02.2009, 20:57

уравнение написал, пишу код в таймер

for x:=0 to 500 do
begin
Shape1.Left:=x;
Shape1.Top:=x;
end;

он сразу перескакивает, как сделать чтобы он как бы летел к этой точке а не сразу туда перемещался)

Monah

6

= общий =    07.02.2009, 21:54

application.processmessage вставь в цикл

неизвестный

7

= общий =    07.02.2009, 22:11

о, спасибо!
Всё как надо получилось!

Возможность оставлять сообщения в мини-форумах консультаций доступна только после входа в систему.
Воспользуйтесь кнопкой входа вверху страницы, если Вы зарегистрированы или пройдите простую процедуру регистрации на Портале.

Лучшие эксперты раздела

puporev

Профессор

Рейтинг: 215

Зенченко Константин Николаевич

Старший модератор

Рейтинг: 165

Gluck

9-й класс

Рейтинг: 79

Лысков Игорь Витальевич

Мастер-Эксперт

Рейтинг: 0

Асмик Гаряка

Советник

Рейтинг: 0

Орловский Дмитрий

Мастер-Эксперт

Рейтинг: 0